Problème d'expression régulière
Résolu
Ysabe_l
Messages postés
12714
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Ysabe_l Messages postés 12714 Date d'inscription Statut Contributeur Dernière intervention -
Ysabe_l Messages postés 12714 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'essaye d'utiliser une expression régulière pour vérifier que ma chaîne de caractère est de type alphanumérique et contient entre 8 et 12 caractères.
Je me sens très nouille parce que je n'y arrive pas et je ne trouve pas d'où vient le soucis.
Voici de ce que j'ai écris
le alert(nom); c'est pour vérifier que le nom est bien récupéré, et il l'est.
Et donc par la suite aucune de deux alert ne se lance donc je suppose que le soucis vient de mon expression régulière vu que c'est mon gros point faible malgré de multiples lectures sur le sujet.
Merci donc d'avance à celui ou celle qui pourra me corriger et m'expliquer pourquoi c'est faux.
J'essaye d'utiliser une expression régulière pour vérifier que ma chaîne de caractère est de type alphanumérique et contient entre 8 et 12 caractères.
Je me sens très nouille parce que je n'y arrive pas et je ne trouve pas d'où vient le soucis.
Voici de ce que j'ai écris
alert(nom); // alert de test à supprimer à la fin
var $regexp = /^[a-zA-Z0-9]{8,12}$/;
var $nom_alphanum = $regexp.test($nom);
if (nom_alphanum == false)
{
alert('Le nom entré ne doit contenir que des lettres et des nombres');
}
else
{
alert('Nom alphanumérique ok'); // alert de test à supprimer à la fin
}
le alert(nom); c'est pour vérifier que le nom est bien récupéré, et il l'est.
Et donc par la suite aucune de deux alert ne se lance donc je suppose que le soucis vient de mon expression régulière vu que c'est mon gros point faible malgré de multiples lectures sur le sujet.
Merci donc d'avance à celui ou celle qui pourra me corriger et m'expliquer pourquoi c'est faux.
A voir également:
- Problème d'expression régulière
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Avoir du ping expression ✓ - Forum jeux en ligne
- C quoi un ping? ✓ - Forum Réseau
- Expression de recherche - Guide
3 réponses
salut, je viens de tester ta regex elle est correct. De toute façon je le savais car j'ai eu à faire en excercice en ajax php cette semaine avec la même regex.
par exemple pour te montrer qu'elle est juste
:
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
par exemple pour te montrer qu'elle est juste
:
<input type="text" id="nom" />
<input type="button" id="but" />
<script type="text/javascript">
var nom = document.getElementById("nom");
document.getElementById("but").onclick = function() {
if (!/^[a-zA-Z0-9]{8,12}$/.test(nom.value)) {
alert('Le nom entré ne doit contenir que des lettres et des nombres');
} else {
alert('Nom alphanumérique ok');
// alert de test à supprimer à la fin
}
}
</script>
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
var $nom_alphanum = $regexp.test($nom);
if (nom_alphanum == false)
nom_alphanum , il manque le $ dans le if , du coup false a chaque fois
Bonsoir,
J'ai réussi à résoudre le soucis même si je ne comprends pas pourquoi vu que de cette manière ça a marché dans un autre exercice !
J'ai supprimé l'étape var $nom_alphanum = $regexp.test($nom); en la mettant directement dans le if, ce qui donne
Voilà si ça peut aider un jour quelqu'un.
Merci en tout cas de vous être penchés sur mon soucis.
J'ai réussi à résoudre le soucis même si je ne comprends pas pourquoi vu que de cette manière ça a marché dans un autre exercice !
J'ai supprimé l'étape var $nom_alphanum = $regexp.test($nom); en la mettant directement dans le if, ce qui donne
alert(nom); // alert de test à supprimer à la fin
var $regex = /^[a-zA-Z0-9]{8,12}$/;
if ($regex.test(nom) == false)
{
alert('Le nom entré ne doit contenir que des lettres et des nombres et comporter entre 8 et 12 caractères');
}
else
{
alert('Nom alphanumérique ok'); // alert de test à supprimer à la fin
}
Voilà si ça peut aider un jour quelqu'un.
Merci en tout cas de vous être penchés sur mon soucis.
Ben oui c'est le même exercice qu'on a eu à faire ^^ mais je t'assure que mon code n'affiche aucun des deux alert donc je ne vois pas d'où viens le problème si l'expression est bonne.