Crew PHP |
|
elseif(!eregi("[A-Za-z]", $_POST['gebruikersnaam']))
//wordt dan
elseif(!preg_match("/[A-Za-z]/si", $_POST['gebruikersnaam']))
// Edit: Dit is een betere:
elseif(preg_match("/[^a-z]/si", $_POST['gebruikersnaam']))
// Nu doet het "indien het iets anders matched dan deze letters"
// en ik heb A-Z weggehaalt, dat is niet nodig als het case ongevoelig is :)
elseif(!eregi("[A-Za-z]", $_POST['gebruikersnaam'])) //wordt dan elseif(!preg_match("/[A-Za-z]/si", $_POST['gebruikersnaam'])) // Edit: Dit is een betere: elseif(preg_match("/[^a-z]/si", $_POST['gebruikersnaam'])) // Nu doet het "indien het iets anders matched dan deze letters" // en ik heb A-Z weggehaalt, dat is niet nodig als het case ongevoelig is :)
s = singleline ( deze tekst
wordt als 1 regel gezien)
i = case Insensative
----------------------
edit2: Zal even je grote ook kleiner maken en uitleggen wat ik doe
we beginnen met:
"[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+"
Daar voegen we de insensative flag aan toe:
"/[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+/si"
Omdat het nu niet uitmaakt of je een a of A typt:
"/[a-z0-9_-]+([\.]{1}[a-z0-9_-]+)*@[a-z0-9-]+([\.]{1}[a-z0-9-]+)+/si"
Stukje leesbaarder zo. Voor cijfers hebben we \d:
"/[a-z\d_-]+([\.]{1}[a-z\d_-]+)*@[a-z\d-]+([\.]{1}[a-z\d-]+)+/si"
En voor a-z en underscore hebben we \w:
"/[\w\d-]+([\.]{1}[\w\d-]+)*@[a-z\d-]+([\.]{1}[a-z\d-]+)+/si"
Dan wil je ook dat "- " als tekst kan, wat je nu hebt werkt, maar is niet goed, dan moet dan escaped naar \-
"/[\w\d\-]+([\.]{1}[\w\d\-]+)*@[a-z\d\-]+([\.]{1}[a-z\d\-]+)+/si"
Dan gebruik je groups die niet hoeven, en die punt is niet verplicht (tenzij dat wel moet):
"/[\w\d\-]+\.?[\w\d\-]+@[a-z\d\-]+\.([a-z\d\-]+){2,5}/si"
en dan hebben we m een stuk ingewikkelder maar beter Je kunt uiteraard ook een stapje minder hoog kiezen |