J'essaie de «valider» un champ de date. Je veux seulement permettre, caractères numériques et - caractère.Validation du champ de date de correspondance de Preg
$born_date=$_POST['date'];
$goodchars = array("1","2","3","4","5","6","7","8","9","0","-");
$char_re_good = '/['.preg_quote(join('', $goodchars), '/').']/';
if (!(preg_match($char_re_good, $born_date))) {
echo "not ok, contain INVALID chars"
}else{
echo "ok, contain valid chars"
}
Si j'essaie de chercher "1960" alors OK. Si j'essaie de chercher "asdfg" alors NON OK. Mais si je recherche "1960 /" alors la sortie est OK. Je ne comprends pas pourquoi.
Pourriez-vous m'aider à modifier pour vérifier si seuls les caractères "0-9" et "-" de l'utilisateur remplissent le champ.
Merci
+1 pour le mot « ancre », que je ne me souvenais – Yacoby
je ne suis pas complètement sûr, mais ne Est-ce que vous devez mettre le ** - ** au début dans une classe de caractères ou l'échapper? – jeroen
Stereofrog - fonctionne bien. Je vous remercie. Ce n'est pas une vraie validation. Je n'en ai pas besoin. Je veux juste savoir si les caractères valides sont remplis .. –