űrlap ellenőrzés
Üdv!
Az alábbi kóddal ellenőrzöm az egyik mezőt:
if($valtozo == (!eregi('^[a-zA-Z0-9 -öÖüÜóÓőŐúÚéÉáÁűŰíÍ]+$',$valtozo)))
Elméletileg az lenne a dolga, hogy csak a magyar abc betűit(ékezetest is!), számokat, szóközt, kötőjelet engedélyezzen. Viszont minden további nélkül írhatok bele ? , + jeleket és nem kapok hibaüzenetet.
Mit rontottam el??
■ Az alábbi kóddal ellenőrzöm az egyik mezőt:
if($valtozo == (!eregi('^[a-zA-Z0-9 -öÖüÜóÓőŐúÚéÉáÁűŰíÍ]+$',$valtozo)))
Elméletileg az lenne a dolga, hogy csak a magyar abc betűit(ékezetest is!), számokat, szóközt, kötőjelet engedélyezzen. Viszont minden további nélkül írhatok bele ? , + jeleket és nem kapok hibaüzenetet.
Mit rontottam el??
szerintem
http://www.php.net/eregi
eddig is működött így
Más mezőket ugyanezzel a módszerrel vizsgáltam meg, pl irányítószámban csak szám lehet, stb. azok jól működnek...
Kötőjel
A te reguláris kifejezésedben az van, hogy a szóköz és ö közötti karakterkódú összes karakter elfogadott. Amúgy nem érezted a logikai inkonzisztenciát, amikor egyszer tartomány megadására használtad a kötőjelet a reguláris kifejezésben, egyszer meg normál karakterként?
A legegyszerűbb megoldás, ha a kötőjelet a felsorolás elejére teszed, így normál karakterként értelmeződik: '^[-a-zA-Z0-9 öÖüÜóÓőŐúÚéÉáÁűŰíÍ]+$'
ezaz! :)
Ez lesz a megoldás. Felmerült a kötőjeles dolog, de nem tudtam a helyes megoldást.
még1x köszi!