Hirdetés
- Apple asztali gépek
- Azonnali informatikai kérdések órája
- Hogyan verte le egy telefon chip az egész laptop ipart? – x86 vs ARM
- Bluetooth hangszórók
- VR topik
- Nvidia GPU-k jövője - amit tudni vélünk
- Minden fronton drágulást vár a DRAM-piacon a Trendforce
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- 240 Hz-es QD-OLED monitor jött az Alienware-től az árérzékenyebbek számára
- Saját memóriaszabvánnyal küzd a memóriahiány ellen az ASRock
-
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!
- Apple asztali gépek
- Azonnali informatikai kérdések órája
- Autós topik
- Hogyan verte le egy telefon chip az egész laptop ipart? – x86 vs ARM
- exHWSW - Értünk mindenhez IS
- Kertészet, mezőgazdaság topik
- Építő/felújító topik
- Telekom mobilszolgáltatások
- Bluetooth hangszórók
- BestBuy topik
- További aktív témák...
- 27% - MSI MAG CORELIQUID 240R V2 AIO vízhűtés!
- Dell Pro 14 PC14250 14" FHD+ IPS érintő Ultra 5 235U 16GB 512GB NVMe ujjlolv IR kam gar
- Pavilion 14-ce0000nh 14" FHD IPS i5-8250U GeForce MX130 16GB 128GB + 1TB HDD magyar vbill IR kam gar
- 500GB, 320GB, 250GB notebook 2,5" HDD-k. Több db. (100/100%)
- Apple Homepod Mini
- 0% THM 4 havi részlet, beszámítás! Gamer PC, notebook, konzol, Apple termék, hardver KAMATMENTESEN!
- Csak 1 db! 27% Áfás, Új Mac Studio M2 Ultra 24/60 mag, 64GB RAM, 1TB SSD
- Lenovo X1 Yoga G4 i5-8265 számlával, garanciával
- Dell Latitude 5300 13,3" FHD IPS touch, i5 - i7 8665U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- Eladó Redmi Note 12 4/128GB fekete / 12 hónap jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




