2 votes

valider une chaîne de caractères composée uniquement de lettres, de chiffres et d'espaces facultatifs

J'ai cette fonction :

function validate_string_spaces_only($string) {
    if(preg_match("/^[\w ]+$]/", $string)) {
        return true;
    } else {
        return false;
    }
}

Je veux faire correspondre une chaîne de caractères composée uniquement de lettres et de chiffres, avec un caractère espace facultatif. Lorsque j'envoie à la fonction ci-dessus une chaîne ne contenant que des lettres, des chiffres et des espaces, elle échoue à chaque fois. Que me manque-t-il ?

2voto

Amber Points 159296

Vous avez un supplément ] dans votre expression rationnelle vers la fin. Supprimez-le et cela devrait fonctionner.

"/^[\w ]+$]/" devrait être "/^[\w ]+$/" .

(Notez également que \w permet généralement les underscores aussi, ce que vous pouvez ou non vouloir).

1voto

Denomales Points 6276

Cette regex le fera :

  • correspond à une chaîne de caractères composée uniquement de lettres et de chiffres avec un caractère espace facultatif

^[a-zA-Z0-9\s]+$

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X