J'essaie de créer une validation pour un champ de mot de passe qui n'autorise que les caractères a-zA-Z0-9
et .!@#$%^&*()_+-=
.
Je n'arrive pas à comprendre.
Quelle est la différence en utilisant regex = /a-zA-Z0-9/g and regex = /[a-zA-Z0-9]/
et quels caractères de .!@#$%^&*()_+-=
sont nécessaires pour être échappés?
Ce que j'ai essayé jusqu'ici, c'est:
var regex = /a-zA-Z0-9!@#\$%\^\&*\)\(+=._-/g
mais sans succès
var regex = /^[a-zA-Z0-9!@#\$%\^\&*\)\(+=._-]+$/g
Devrait marcher
Vous voudrez peut-être aussi avoir une longueur minimale de 6 caractères.
var regex = /^[a-zA-Z0-9!@#\$%\^\&*\)\(+=._-]{6,}$/g
Quelle est la différence?
/[a-zA-Z0-9]/
est une classe de caractères qui correspond à un caractère qui est à l'intérieur de la classe. Il se compose de trois gammes.
/a-zA-Z0-9/
signifie la séquence littérale de ces 9 caractères.
Quels caractères de
.!@#$%^&*()_+-=
faut-il échapper?
Dans une classe de caractères, seuls le moins (si pas à la fin) et le circumflexe (si au début). .$^*+()
a une signification particulière et doit être échappé pour correspondre à la lettre.
n'autorise que les caractères
a-zA-Z0-9
et.!@#$%^&*()_+-=
Mettez-les ensuite dans une classe de caractères, laissez-les repeat et demandez-leur de faire correspondre toute la chaîne avec anchors :
var regex = /^[a-zA-Z0-9!@#$%\^&*)(+=._-]*$/
une façon géniale de faire correspondre les caractères spéciaux:
/\W|_/g
\W Correspond à tout caractère autre que Word (alphanumérique et trait de soulignement).
Le trait de soulignement est considéré comme un caractère spécial, donc Ajoutez un booléen pour correspondre à un caractère spécial ou _
Il y a quelques problèmes avec Regex écrit ci-dessus.
Cela fonctionne parfaitement.
^[a-zA-Z\d\-_.,\s]+$
Seuls les caractères spéciaux autorisés sont inclus ici et peuvent être étendus après une virgule.
Que dis-tu de ça:-
var regularExpression = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,}$/;
Il permettra un minimum de 6 caractères, y compris des chiffres, des alphabets et des caractères spéciaux.
c'est la seule correspondance regex réelle:
/[-!$%^&*()_+|~=`{}[:;<>?,.@#\]]/g
// Regex for special symbols
var regex_symbols= /[-!$%^&*()_+|~=`{}\[\]:\/;<>?,.@#]/;