Advertisement
svephoto

Fancy Barcodes [JavaScript]

Aug 7th, 2021 (edited)
1,502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function fancy(input = []) {
  2.     let num = Number(input.shift());
  3. //    let pattern = /^@#+(?=[A-Z])([A-Za-z0-9]{6,})(?<=[A-Z])@#+$/m - Обграждащите символи да са поотделно в [] и няма нужда от ^ в началото и $ в края, заместваме го с:
  4.        let pattern = /[@][#]+(?=[A-Z])([a-zA-Z0-9]{6,})(?<=[A-Z])[@][#]+/m;
  5.  
  6. //    let string = ""; -> Преместваме променливата директно в if (match !== null)
  7.     for (let i = 1; i <= num; i++) {
  8.         let data = input.shift();
  9.         let match = pattern.exec(data);
  10.  
  11.         if (match !== null) {
  12.             let string = "";
  13.             let matches = match[1];
  14.  
  15.             for (let i = 0; i < matches.length; i++) {
  16.                 if (matches.charCodeAt(i) >= 48 && matches.charCodeAt(i) <= 57) {
  17.                     string += matches[i];
  18.                 }
  19.             }
  20.  
  21. //          if (matches.match('[0-9]+')) {  Тук можем да проверим направо дали string.length == 0, и ако е просто го правим да стане от групата по подразбиране:
  22.             if (string.length == 0) {
  23.                 string += "00";
  24.             }
  25. //            if (!matches.match('[0-9+]')) { Нямаме нужда от тази проверка
  26. //                console.log(`Product group: ${string}`);
  27. //                string = "";
  28. //            }
  29.  
  30.             console.log(`Product group: ${string}`);
  31.         } else {
  32.             console.log(`Invalid barcode`);
  33.         }
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement