Bonjour,
Je souhaite développer un code javascript permettant de faire les vérifications suivantes sur un mot de passe :
- Au moins 4 lettres
- Au moins 3 chiffres
- Au moins 1 caractère spéciale
En parcourant les différents tutos sur les expressions régulières, voici ce que j'ai réussi à faire.
Mes regex ont l'air de plutôt bien fonctionnées, par contre je pense avoir un soucis dans ma boucle pour parcourir toute la chaîne si je place un chiffre au milieu de caractères.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Test page</title> <link rel="stylesheet" href="style.css"> <script type="text/javascript"> function CheckForm() { var pwd; pwd = document.getElementById("password").value; var listRe = [{ re: /[a-zA-Z]{4}/, msg: "Votre mot de passe doit avoir au moins 4 lettres" }, { re: /[0-9]{3}/, msg: "Votre mot de passe doit avoir au moins 3 chiffres" }, { re: /[^A-Za-z0-9]/, msg: "Votre mot de passe doit posséder au moins 1 caractère spéciale" } ]; for (var i = 0; i < listRe.length; i++) { var item = listRe[i]; if (!item.re.test(pwd)) { alert(item.msg); return false; } } } </script> </head> <body> Username : <input type="text" id="username" size="10"> Password : <input type="text" id="password" size="10"> <div> <input type="submit" id="submit" size="10" value="Submit" onClick="CheckForm()"> </div> </body> </html>
Exemple : azed234@ --> Pas de message, le mot de passe est bon
aze234@ --> Une alert nous disant qu'il faut au moins 4 lettres
azef23@--> Une alert nous disant qu'il faut au moins 3 chiffres
azef234---> Une alert nous disant qu'il faut au moins un caractère spéciale
az@ed345 --> KO : l'alert me dit qu'il faut au moins 4 lettres alors qu'elles y sont!
Merci d'avance pour votre aide.
Partager