V vic Medlem sedan apr. 2006 244 inlägg Frågan 24 nov. 2006 00:38 #1 God afton!
Följande kollar endast om sista tecknet i strängen är korrekt?
if(!preg_match("/[^a-zA-Z0-9\Ä\ä\Å\å\Ö\ö\Ü\ü\ ]+$/s", $username))
{
$error_mess[1] = 'Användarnamnet innehåller otillåtna tecken';
}
Jag vill såklart kontrollera hela strängen, hur göra?
T The_Hulk Medlem sedan juni 2003 1 837 inlägg if(!preg_match("/^[^a-zA-Z0-9\Ä\ä\Å\å\Ö\ö\Ü\ü\ ]+$/s", $username))
{
$error_mess[1] = 'Användarnamnet innehåller otillåtna tecken';
}
^ betyder start på strängen om den inte står innanför [ ]
/r
varför använder du dubbla negationer?
V vic Medlem sedan apr. 2006 244 inlägg Kan inget om regexp, negationer? var? :)
testade med preg_match_all() mendet gick inge vidare :(
P Peter S Medlem sedan dec. 2002 5 483 inlägg if(!preg_match("/[^a-zA-Z0-9ÄäÅåÖöÜü ]/", $username))
{
$error_mess[1] = 'Användarnamnet innehåller otillåtna tecken';
}
T The_Hulk Medlem sedan juni 2003 1 837 inlägg i din if-sats börjar du med ! ( en negation)
sen har du först i ditt regexp [^a-z....] (^ är en negation till)
testa koden som Peter S föreslog.
står ^ innanför först innanför [ ] betyder det negation.
står ^ utanför [ ] betyder det början på rad/sträng.
V vic Medlem sedan apr. 2006 244 inlägg Ok, nu börjar det ljusna! Måste sätta mig in lite mer i det där med regexp men jag kan inte låta bli att tycka att det är sååå tråkigt :)
T The_Hulk Medlem sedan juni 2003 1 837 inlägg det är inte så roligt i början för det ser väldigt krångligt ut men när man väl börjar förstå hur det används så är det roligt för man kan göra väldigt mycket och kraftfulla sökningar/matchningar med så pass lite kod.
T The_Hulk Medlem sedan juni 2003 1 837 inlägg V vic Medlem sedan apr. 2006 244 inlägg tack så mycket, jag får ta mig i kragen nu...