-
Fototrend

Ú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!
- Milyen RAM-ot vegyek?
- Kerékpárosok, bringások ide!
- Túlélnél egy generációs űrhajón? MIO: Memories in Orbit teszt
- Eredeti játékok OFF topik
- Milyen Android TV boxot vegyek?
- Futás, futópályák
- Samsung kuponkunyeráló
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gitáros topic
- Kormányok / autós szimulátorok topikja
- További aktív témák...
- Mini PC (ITX) i7 265K 9070 XT 32 GB DDR5 8000Mhz
- Gigabyte RX 6700 XT EAGLE 12G Szép állapotban 1. tulajtól, 2026.04.14-ig garanciális
- Microsoft Surface Book 3 15 i7 / 32GB / 512GB SSD / Windows 11 Pro
- Macbook air M4 15col, éjfekete, magyar
- ASUS ROG Strix OLED XG27AQDMGR (1440p,240Hz,TrueBlack Glossy,G-Sync) 3év garanciával!
- Apple Watch Series 10 42mm Jet Black 96% (1év Garancia)
- BESZÁMÍTÁS! 64GB G.Skill Trident Z Neo 3600Mhz DDR4 memória garanciával hibátlan működéssel
- Acer Predator Helios 18 AI I9 ULTRA 9275HX, 192GB RAM, 2TB SSD, RTX 5080
- Telefon szerviz helyben - Gyors javítás, akár 30 perc alatt!
- BESZÁMÍTÁS! 1TB Samsung 870 QVO 2,5" SATA SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



