Hirdetés
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Gaming notebook topik
- Nem indul és mi a baja a gépemnek topik
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Ettől lesz más a tévézés? Teszten a OneTV SoundBox
- Fujifilm X
- Házimozi haladó szinten
- OLED monitor topic
- Soundbar, soundplate, hangprojektor
- XMLTV EPG letöltő progi
-
PROHARDVER!

Új hozzászólás Aktív témák
-
bLaCkDoGoNe
veterán
Szuper, köszi.

A freeCodeCamp-en a Javascript blokkot csinálom, és az egyik projekt feladat az, hogy kell írni egy telefonszám formátum ellenőrző függvényt, ami a megadott számsorozatot adott szempontok szerint validálja, és visszaköp egy boolean-t eredményül.
Elsőre úgy gondoltam, hogy ezt regex-szel lenne a legegyszerűbb megoldani, úgy, hogy egy viszonylag komplex kifejezéssel ellenőrizném az összes szükséges szempontot, de két napja szuggerálom a megírt regex-emet, mert két teszteset elbukik rajta, és egyszerűen nem látom, hogy hol megy félre. A legvalószínűbb persze, hogy mivel most tanulom a dolgot, hülyeséget csináltam valahol, bár a regex101.com-on végigzavarva olyan nagy marhaságot elsőre nem találtam benne, lehet hogy egyszerűen valahol rosszul tagoltam valamit például, ami működik így is, csak nem a szándékaim szerint.
A regex, amit összeraktam, így néz ki:
/(^(1))?(\s)?((\([0-9]{3}\))*|\d{3})(\s|[-])?(\d{3})(\s|[-])?(\b\d{4})/
és szándékaim szerint az alábbiakat ellenőrizné:
- opcionálisan 1-essel kezdődik-e a szám
- az egyes után opcionálisan whitespace
- van egy három számot tartalmazó blokk zárójelek között VAGY zárójelek nélkül
- ezt követően opcionális whitespace vagy kötőjel
- ezt követően három számot tartalmazó blokk
- ezt követően opcionális whitespace vagy kötőjel
- végül egy négy számot tartalmazó blokk.Ez a két testcase nem az elvárt eredményt adja vissza:
telephoneCheck("5555555555") should return true.
telephoneCheck("555-5555") should return false.Tudnátok valami iránymutatást adni, hogy hol van a hiba abban, amit csináltam? Vagy eleve lehetetlen az összes teszt esetet egy regex-szel lekezelni, és egy többszintű, elágazó szűrést kellene csinálnom több kifejezéssel?
Köszi a segítséget.

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Nagyrobogósok baráti topikja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Olyan lesz a Google Térkép, mint a segítőkész haver az anyósülésen
- Vigneau interaktív lokálblogja
- Elektromos autók - motorok
- Gaming notebook topik
- Nem indul és mi a baja a gépemnek topik
- Vivo X200 Pro - a kétszázát!
- Energiaital topic
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- További aktív témák...
- Üzletből, garanciával, Lg Gram 17Z90R- i7-1360P/16GB RAM/1TB SSD/17,3" /2560 x1600 QHD
- Üzletből, garanciával, Lenovo ThinkPad T15p Gen 2. i7-11800H/32GB RAM/512GB SSD/GeForce GTX 1650
- -ÚJ,2 ÉV GAR- GAMER PC: RYZEN 7 5700/5800X +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Eladó ILCE-7M3K (Sony A7 III + 24-105G kit) nagyon keveset használt!
- Iphone 17 Pro Max 256 GB. Független.
- Bomba ár! Lenovo ThinkPad T490s - i5-8GEN I 8GB I 256SSD I 14" FHD Touch I Cam I W11 I Gari!
- Lejárt a gyártói garancia? Mi tovább támogatjuk az IT infrádat!
- Telefon felváráslás!! Xiaomi Redmi Note 11, Xiaomi Redmi Note 11 Pro, Xiaomi 11 Lite
- GYÖNYÖRŰ iPhone 14 128GB Purple -1 ÉV GARANCIA -Kártyafüggetlen, MS3676
- Samsung Galaxy A32 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő





