LilianaVelvheva 17 Точки

# Problem 2. Fancy Barcodes

Your first task is to determine if the given sequence of characters is a valid barcode or not.

Each line must not contain anything else but a valid barcode. A barcode is valid when:

• Is surrounded with a "@" followed by one or more "#"
• Is at least 6  characters long (without the surrounding "@" or "#")
• Starts with a capital letter
• Contains only letters (lower and upper case) and digits
• Ends with a capital letter

Examples of valid barcodes: @#FreshFisH@#, @###Brea0D@###, @##Che46sE@##, @##Che46sE@###

Examples of invalid barcodes: ##InvaliDiteM##, @InvalidIteM@, @#Invalid_IteM@#

Next you have to determine the product group of the item from the barcode. The product group is obtained by concatenating all the digits found in the barcode. If there are no digits present in the barcode, the default product group is "00".

Examples:

@#FreshFisH@# -> product group: 00

@###Brea0D@### -> product group: 0

@##Che4s6E@## -> product group: 46

### Input

On the first line you will be given an integer n – the count of barcodes that you will be receiving next.

On the next n lines, you will receive different strings.

### Output

For each barcode that you process, you need to print a message.

If the barcode is invalid:

• "Invalid barcode"

If the barcode is valid:

• "Product group: {product group}"

### Examples

 Input Output 3 @#FreshFisH@# @###Brea0D@### @##Che4s6E@## Product group: 00 Product group: 0 Product group: 46 Input Output 6 @###Val1d1teM@### @#ValidIteM@# ##InvaliDiteM## @InvalidIteM@ @#Invalid_IteM@# @#ValiditeM@# Product group: 11 Product group: 00 Invalid barcode Invalid barcode Invalid barcode Product group: 00

### JS Input / Output

 Input Output (["3", "@#FreshFisH@#", "@###Brea0D@###", "@##Che4s6E@##"]) Product group: 00 Product group: 0 Product group: 46 Input Output (["6", "@###Val1d1teM@###", "@#ValidIteM@#", "##InvaliDiteM##", "@InvalidIteM@", "@#Invalid_IteM@#", "@#ValiditeM@#"]) Product group: 11 Product group: 00 Invalid barcode Invalid barcode Invalid barcode Product group: 00

Тагове:
0
icowwww 2311 Точки

Здравей,

Имаш грешки в проверките дали има цифри в баркода:

`````` if (matches.match('[0-9]+')) {
console.log(`Product group: 00`);
}
if (!matches.match('[0-9+]')) {
console.log(`Product group: \${string}`);
string = "";
}``````

Първо трябва да са обърнати наобратно, защото ако имаш цифра принтираш 00

Второ втория регекс е объркан и плюса трябва да е извън квадратната скоба

Аз бих написал тази проверка:

if (matches.charCodeAt(i) >= 48 && matches.charCodeAt(i) <= 57) {

така за да е по-говорима:

if (!isNaN(matches[i])) {

И тази:

if (!matches.match('[0-9]+')) {

за да не проверям два пъти за цифра:

if (string === "") {

А ето и регекс за цифри с join, вместо цикъл:https://pastebin.com/TGPPm7V4

0
07/08/2021 22:59:40
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.