Hirdetés
- VHS digitalizálás
- [K2]: AnyDesk átverés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- Lalikiraly: Astra kalandok @ Negyedik rész
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
-
LOGOUT

Ú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!
- BESZÁMÍTÁS! MSI B450 R7 5700X 32GB DDR4 512GB SSD RTX 3070Ti 8GB Zalman Z1 Plus Cooler Master 750W
- BESZÁMÍTÁS! MSI X99A i7 5820K 16GB DDR4 240GB SSD 1TB HDD GTX 1050Ti 4GB Deepcool Ducase V2 600W
- Samsung Galaxy A56 5G 128GB,Újszerű,Dobozával,12 hónap garanciával
- Samsung Galaxy A26 5G 256GB,Újszerű,Dobozával,12 hónap garanciával
- BESZÁMÍTÁS! MSI B650 R7 8700F 32GB DDR5 512GB SSD RX 6800 16GB Zalman Z1 Plus Cooler Master 750W
- Bomba ár! Dell Latitude 3340 - i3-4GEN I 4GB I 500GB I 13,3" HD I HDMI I Cam I W10 I Garancia!
- Apple Watch SE 2gen 40mm, Kártyafüggetlen, 1 Év Garanciával
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- Bomba ár! Lenovo ThinkPad T450 - i5-5GEN I 8GB I 240SSD I 14" HD+ I Cam I W10 I Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




