Comment puis-je construire un masque qui permet alphanumériques et un seul espace comme:Regex en PHP qui permet alphanumérique avec un seul espace
MM56M pass
MM 54M pass
MMM 5
555555 pass
LPOLKG pass
MM 5T YU does not pass
Merci
Comment puis-je construire un masque qui permet alphanumériques et un seul espace comme:Regex en PHP qui permet alphanumérique avec un seul espace
MM56M pass
MM 54M pass
MMM 5
555555 pass
LPOLKG pass
MM 5T YU does not pass
Merci
Est-ce que ce travail:
^[A-Za-z0-9]+([A-Za-z0-9]+)?$
Il correspond à une ou plusieurs lettres ou chiffres éventuels, éventuellement un espace et une ou plusieurs lettres ou chiffres quelconques
Vous voudriez aussi ancrer le début/la fin de la chaîne, sinon cela correspondra à n'importe quelle sous-chaîne et passera validation. En outre, OP ne dit pas, mais est l'espace requis. –
mon mal, je l'espère fixé @oussamakamal – RedLaser
regex devrait fonctionner ...
/^[[:alnum:]]+([[:alnum:]]+)?$/
Demo: https://regex101.com/r/hQ6fM4/2 (non le modificateur g
utilisé ici ne sera pas utilisé en PHP, si la chaîne est l'utilisation de plusieurs lignes le m
de sorte que le ^$
affectent chaque ligne). Le [[:alnum:]]
est un support de caractères posix pour un caractère alpha ou numérique. Le +
après est un quantificateur qui signifie un ou plusieurs de ces caractères. Les ^$
sont des ancres le ^
est le début de la chaîne, le $
est la fin. Le ()
est un regroupement et le ?
après rend tout ce deuxième groupe facultatif. Les /
délimitent l'endroit où l'expression régulière commence et se termine.
ou si vous voulez une approche étrange:
$str = 'test test';
$post = preg_replace('/\s/', '', $str);
if (((strlen($str) - 1) == strlen($post) || (strlen($str) == strlen($post))) && ctype_alnum($post)) {
echo 'tis good';
} else {
echo 'rut row';
}
Démo: https://eval.in/505494
Voir [Apprendre les expressions rationnelles] (http://stackoverflow.com/a/2759417/3832970). –
pourquoi ne pas simplement compter les espaces et vérifier, si plus de 1? (sans regex) –
J'ai besoin aussi comme alphanumérique –