Javascript: Vérifier la longueur d'un mot de passe
Résolu/Fermé
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
-
2 nov. 2014 à 11:59
Ysabe_l Messages postés 12430 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 28 mars 2024 - 6 nov. 2014 à 17:38
Ysabe_l Messages postés 12430 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 28 mars 2024 - 6 nov. 2014 à 17:38
A voir également:
- Javascript: Vérifier la longueur d'un mot de passe
- Telecharger javascript - Télécharger - Langages
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Javascript obfuscator - Télécharger - Langages
- Echo javascript ✓ - Forum PHP
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
10 réponses
Ysabe_l
Messages postés
12430
Date d'inscription
vendredi 12 avril 2013
Statut
Contributeur
Dernière intervention
28 mars 2024
274
5 nov. 2014 à 21:42
5 nov. 2014 à 21:42
Salut,
Tu as oublié le ; à la fin de la première ligne.
Ensuite tu crées un paragraphe ou un span à l'endroit où tu veux mettre le message d'erreur en lui donnant un id. Tu ne mets rien dedans.
Tu vérifies la longueur et si elle n'est pas bonne tu écris dans le paragraphe vide. Par exemple si tu veux minimum 8 caractères :
Tu as oublié le ; à la fin de la première ligne.
var longueur = $_POST['mdp'].lenght;
Ensuite tu crées un paragraphe ou un span à l'endroit où tu veux mettre le message d'erreur en lui donnant un id. Tu ne mets rien dedans.
<p id="message"></p>
Tu vérifies la longueur et si elle n'est pas bonne tu écris dans le paragraphe vide. Par exemple si tu veux minimum 8 caractères :
if(longueur < 8) { document.getElementById("message").innerHTML = "Attention le mot de passe n'est pas assez long, il doit faire 8 caractères minimum."; }
Utilisateur anonyme
5 nov. 2014 à 18:56
5 nov. 2014 à 18:56
T'as variable s'appelle longeur tandis que ce que t'alerte s'appelle longueur, un u est donc en trop.
Pour ce qui est du petit message je n'ai pas vraiment les connaissances requises pour le faire
Pour ce qui est du petit message je n'ai pas vraiment les connaissances requises pour le faire
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
5 nov. 2014 à 19:30
5 nov. 2014 à 19:30
Bonjour,
ce n'est pas mieux avec
Un message s'affiche bien, mais il est écrit "Undefined" (indéfini), au lieu de la longueur du mot de passe.
ce n'est pas mieux avec
var longueur = document.getElementsByName("mdp").lenght alert(longueur);
Un message s'affiche bien, mais il est écrit "Undefined" (indéfini), au lieu de la longueur du mot de passe.
Utilisateur anonyme
5 nov. 2014 à 20:45
5 nov. 2014 à 20:45
length est mal écrit, tu as écrit lenght
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
6 nov. 2014 à 09:43
6 nov. 2014 à 09:43
Bonjour,
longueur est égal à 1 quelque soit la longueur du mot de passe...
Sinon, pour le message, ça marche parfaitement.
longueur est égal à 1 quelque soit la longueur du mot de passe...
Sinon, pour le message, ça marche parfaitement.
Ysabe_l
Messages postés
12430
Date d'inscription
vendredi 12 avril 2013
Statut
Contributeur
Dernière intervention
28 mars 2024
274
6 nov. 2014 à 11:09
6 nov. 2014 à 11:09
Ah mais je suis bête !
Je viens de comprendre, tu lances la fonction dès que l'utilisateur a cliqué ailleurs que dans le champ mot de passe, donc tu ne peux pas récupérer ce qui est dans le champ avec $_POST[''] puisqu'il n'est pas posté, d'ailleurs de toute manière tu ne pourrais pas car JavaScript ne peut pas accéder aux variables globales !
Donc dans ta fonction tu dois "lire" le contenu du input, pour ça tu vas lui donner un ID : (je remets le code avec les balises de style dans le HTML comme toi mais il ne faut pas faire ça, utilises le CSS pour séparer le fond et la forme).
Et dans la fonction JavaScript :
Je viens de comprendre, tu lances la fonction dès que l'utilisateur a cliqué ailleurs que dans le champ mot de passe, donc tu ne peux pas récupérer ce qui est dans le champ avec $_POST[''] puisqu'il n'est pas posté, d'ailleurs de toute manière tu ne pourrais pas car JavaScript ne peut pas accéder aux variables globales !
Donc dans ta fonction tu dois "lire" le contenu du input, pour ça tu vas lui donner un ID : (je remets le code avec les balises de style dans le HTML comme toi mais il ne faut pas faire ça, utilises le CSS pour séparer le fond et la forme).
<p style='width:300px;'>Mot de passe : (Entre 8 et 255 caractères) <input size='60px' type='password' name='mdp' id='mdp' onBlur='mdpchange()'></p> <p id="message"></p>
Et dans la fonction JavaScript :
function mdpchange() { var mdp = document.getElementById("mdp").value; // tu récupères la valeur du mdp var longueur = mdp.lenght; // tu récupères la longueur // si la longueur n'est pas bonne tu affiches le message if(longueur < 8 || longueur > 255) { document.getElementById("message").innerHTML = "Attention le mot de passe n'est pas assez long, il doit faire 8 caractères minimum."; } }
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
524
6 nov. 2014 à 12:42
6 nov. 2014 à 12:42
Salut,
Tu peux aussi utiliser la validation html5 (sans aucun code javascript) qui est désormais prise en compte par tous les navigateurs récents.
L'attribut pattern permet entre autre de définir un nombre de caractères minimum et maximum pour un input :
Bonne journée
Tu peux aussi utiliser la validation html5 (sans aucun code javascript) qui est désormais prise en compte par tous les navigateurs récents.
L'attribut pattern permet entre autre de définir un nombre de caractères minimum et maximum pour un input :
<input type="password" pattern=".{5,10}" required title="5 to 10 characters">
Bonne journée
Ysabe_l
Messages postés
12430
Date d'inscription
vendredi 12 avril 2013
Statut
Contributeur
Dernière intervention
28 mars 2024
274
6 nov. 2014 à 17:38
6 nov. 2014 à 17:38
Certes, mais il faut quand même aussi faire la vérification pour les navigateurs plus anciens malheureusement encore utilisés, et comme il voulait que le message s'affiche dès la fin de la saisie et non pas à la validation.
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
6 nov. 2014 à 16:08
6 nov. 2014 à 16:08
Tout d'abord, je ne sais pas pourquoi vous écrivez tous length avec ght à la fin.
Ensuite, merci, ça marche parfaitement bien.
Je mets le sujet en résolu.
Ensuite, merci, ça marche parfaitement bien.
Je mets le sujet en résolu.
Ysabe_l
Messages postés
12430
Date d'inscription
vendredi 12 avril 2013
Statut
Contributeur
Dernière intervention
28 mars 2024
274
6 nov. 2014 à 17:36
6 nov. 2014 à 17:36
Perso parce que en français y'a pas beaucoup de th ni de ht et que j'écris plus souvent "width" et que du coup mes doigts sont plus habitués au "th" que au "ht".
Mais super si ça marche !
Mais super si ça marche !
Utilisateur anonyme
3 nov. 2014 à 19:46
3 nov. 2014 à 19:46
Tu peux récuperer la longueur en faisant var longeur = $_POST['mdp'].lenght
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
Modifié par Anonyme209 le 5/11/2014 à 18:32
Modifié par Anonyme209 le 5/11/2014 à 18:32
Bonjour,
ou
1. Rien ne se passe...
2. Cela ne répond pas à ma deuxième question: afficher un petit message en dessous de la zone de texte si la longueur n'est pas suffisante.
Merci de votre aide.
var longeur = $_POST['mdp'].lenght alert(longueur);
ou
var longeur = document.getElementsByName("mdp").lenght alert(longueur);
1. Rien ne se passe...
2. Cela ne répond pas à ma deuxième question: afficher un petit message en dessous de la zone de texte si la longueur n'est pas suffisante.
Merci de votre aide.