-
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!
- LENOVO LEGION 5 15AHP10 (83M0001MHV)
- Apple iPhone 13 Mini 128GB
- Macbook Pro 16" - 2020 gyártás, 6 mag i7, 16/512GB, Radeon 4GB, touchbar - garancia (66)
- Apple Watch Ultra 2 49mm GPS + Cellular - 98%, full dobz - Apple garancia (202)
- Samsung Galaxy Z Flip 5 8/256GB - Makulátlan állapot! - A szállítást állom!
- BESZÁMÍTÁS! Asus Z170M i7 6700 16GB DDR4 512GB SSD GTX 1070 Ti 8GB Rampage SHIVA ZALMAN 500W
- Apple iPhone 13 Mini 128GB,Újszerű,Adatkabel,12 hónap garanciával
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Mini 128 GB Fekete 1 év Garancia Beszámítás Házhozszállítás
- iking - Apple iPhone 14 Pro Graphite ProMotion 120 Hz, 48 MP kamera, Dynamic Island 128 GB
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi





