4 votes

RegEx JavaScript alphanumérique pour la validation des mots de passe

J'utilise une regex ci-dessous pour valider le mot de passe afin d'accepter uniquement des caractères alphanumériques. La regex fonctionne si j'entre 2 caractères, un alpha et un chiffre, mais si plus de deux caractères, ma regex ne fonctionne pas. Je veux si possible obtenir les résultats suivants, comme indiqué dans "Comportement attendu". Quelqu'un peut-il m'aider à réécrire ma regex ?

JavaScript

  function checkPasswordComplexity(pwd) {
        var regularExpression = /^[a-zA-Z][0-9]$/;
        var valid = regularExpression.test(pwd);
        return valid;
    }

Comportement actuel

Password:Valid
a1:true
aa1:false
aa11:false

Comportement attendu

Password:Valid
aa:false (should have at least 1 number) 
1111111:false (should have at least 1 letter)
aa1:true
aa11:true
a1a1a1a1111:true

0voto

M42 Points 31888

Je pense que le lookaround n'est pas supporté par javascript, donc vous pouvez utiliser :

^([a-zA-Z]+\d+)|(\d+[a-zA-Z]+)

Mais s'ils sont soutenus :

/^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z\d]{2,}$/

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