Autor Zpráva
Scrash6
Profil *
Dobrý den, potřeboval bych poradit s regulárním výrazem v preg_match.
Vše by mělo fungovat, ale nejspíš kvůli naší české diakritice nejde.

$_POST["login"] = "Anežka";

if(preg_match("/^[0-9A-Z]ěščřžýáíéúů+$/i", $_POST["login"])){
$error = 1;
}else{
$ok = 1;
}
Scrash6
Profil *
ještě vlastně i pro tyto znaky: ď,ť,ň
Kajman_
Profil *
Ty znaky patří také do té hranaté závorky. Pokud je skript v utf8, tak bude potřeba ještě flag u. Pokud to nebude brát dobře i velká písmena, vynechte flag i a přidejte i a-z a velká písmena s diakritikou .
1Pupik1989
Profil
Já bych to viděl podobně, akorát bych do masky nepsal [0-9A-Z], protože pro preg_match fungujou POSIX regulární výrazy, takže:
$POST = "Anežka"; 
$Hledat = preg_match("/^([[:alnum:]ĚŠČŘŽÝÁÍÉÚŮĎŤŇÓěščřžýáíéúůďťňó]+)$/i", $POST, $out);
if($Hledat){ 
$error = 1; 
}else{ 
$ok = 0; 
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: