web-dev-qa-db-fra.com

Comment définir la longueur minimale du mot de passe

Je travaille actuellement sur un formulaire HTML. Comment définir la longueur minimale du mot de passe sur 8 afin de rejeter tout mot de passe saisi par l'utilisateur inférieur à 8. Comment procéder?

Voici le code:

<div id="login-form">
            <form method="post">
            <table align="center" width="30%" border="0">
            <tr>
            <td><input type="text" name="email" placeholder="Your Email" required /></td>
            </tr>
            <tr>
            <td><input type="password" name="pass" placeholder="Your Password" required /></td>
            </tr>
            <tr>
            <td><button type="submit" name="btn-login">Sign In</button></td>
            </tr>
            <tr>
            <td><a href="register.php">Sign Up Here</a></td>
            </tr>
            </table>
            </form>
        </div>
6
marse

Si vous utilisez HTML5, vous pouvez utiliser l'attribut pattern et required pour la balise input:

<input type="password" pattern=".{8,}"   required title="8 characters minimum">
<input type="password" pattern=".{8,12}" required title="8 to 12 characters">

Il existe également un attribut minlength pour les balises d’entrée, mais il n’a pas encore été implémenté dans Firefox. 

<input type="password" minlength="8" required>
15
Carlos Mayo

Vous pouvez utiliser l'attribut pattern:

<input pattern=".{8,}" type="password" name="pass" placeholder="Your Password" required />
2
AVAVT

Changez votre bouton pour:

<button name="btn-login">Sign In</button>

Et ajoutez ce code JavaScript (en utilisant jquery):

$('button[name="btn-login"]').click(function() {
    if($('input[name="pass"]').val().length < 8) {
        alert('Minimum length = 8');
    } else {
        $('form').submit();
    }
});

N'oubliez pas d'ajouter cette condition dans votre code PHP.

1
Anthony Bastide

Malheureusement, l'attribut de longueur minimale n'est pas pris en charge par tous les navigateurs. S'il vous plaît vérifier ceci

Pour cette raison, une autre méthode doit être utilisée.

J'ai choisi l'utilisation de regex comme ci-dessous;

<input type="password" name="pass" title="Password must be 8 characters including 1 uppercase letter, 1 lowercase letter and numeric characters" required pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}" >
0
efkan

Vous pouvez utiliser minlength et maxlength

Comme d'habitude, vous pouvez utiliser les attributs minlength et maxlength pour établir des longueurs minimales et maximales acceptables pour le mot de passe . Cet exemple développe le précédent en spécifiant que le .__ de l'utilisateur. PIN doit comporter au moins quatre et au plus huit chiffres. La taille L'attribut est utilisé pour s'assurer que le contrôle de saisie du mot de passe est huit caractères large.

La source

Mais cela ne fonctionne que sur Chrome pour le moment.

Ou, comme quelqu'un l'a déjà mentionné, vous pouvez utiliser pattern .

Si votre application a des restrictions de jeux de caractères ou toute autre Pour le contenu actuel du mot de passe saisi, vous pouvez utilisez l'attribut pattern pour établir une expression régulière à utiliser pour vous assurer automatiquement que vos mots de passe répondent à ces exigences.

La source

0
Tadej Danev