Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2011, 19h33   #1
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 239
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 239
Points : 1 046
Points : 1 046
Par défaut Le test plante à chaque fois

Bonsoir,

Code :
1
2
3
4
5
6
7
8
9
var exp = new RegExp("/^\d{6}[a-zA-Z]{2}\d{1,2}$/i");
		if(!exp.test(dmu))
		{
			alert("pas ok");
		}
		else
		{
			alert("ok");
		}
J'utilise ce code pour vérifier le format d'une chaine de caractère reçue en paramètre d'une fonction javascript.

Le seul format accepté devrait être celui-ci :

Citation:
840309MM01
C'est à dire 6 chiffres en début de chaîne, suivi de deux lettres et de deux chifres.

L'alerte m'indique à chaque fois que ce n'est pas OK, que le format de la chaîne n'est pas respecté même quand je mets le bon format.

Avez-vous une idée ?

Je vous en remercie d'avance.

beegees
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 20h00   #2
Expert Confirmé Sénior
 
Avatar de Auteur
 
Inscription : avril 2004
Messages : 4 793
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 4 793
Points : 5 117
Points : 5 117
bonjour,

tu as mélangé les deux syntaxes de déclaration d'une regexp. Essaye comme ceci :
Code :
1
2
 
var exp = new RegExp("^\d{6}[a-zA-Z]{2}\d{1,2}$","i");
ou
Code :
1
2
 
var exp = /^\d{6}[a-zA-Z]{2}\d{1,2}$/i;
Auteur est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 20h04   #3
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 239
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 239
Points : 1 046
Points : 1 046
Salut Auteur,

J'ai appliqué le changement que tu m'as indiqué, mais le test reste négatif.

Code :
1
2
3
4
5
6
7
8
9
var exp = new RegExp("^\d{6}[a-zA-Z]{2}\d{1,2}$","i");
	if(!exp.test(dmu))
	{
		alert("pas ok");
	}
	else
	{
		alert("ok");
	}
Edit :

Code :
var exp = new RegExp("^\d{6}[a-zA-Z]{2}\d{1,2}$");
indique que 840309MM01 est VRAI.

via ce site :

http://www.annuaire-info.com/outil-r...ion-reguliere/

Dans mon code, ça ne fonctionne pas :

Code :
var exp = new RegExp("^\d{6}[a-zA-Z]{2}\d{1,2}$");
C'est toujours faux.

Encore merci pour ton aide.

beegees
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 20h28   #4
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
bizarre, ça ne peut que fonctionner...

Code :
alert(/^\d{6}[a-z]{2}\d{2}$/i.test(chaine))
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 20h31   #5
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 239
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 239
Points : 1 046
Points : 1 046
Citation:
Envoyé par javatwister Voir le message
bizarre, ça ne peut que fonctionner...

Code :
alert(/^\d{6}[a-z]{2}\d{2}$/i.test(chaine))
Salut,

Merci pour ton aide.

L'alerte me met "True", ça fonctionne donc

Je devrais pouvoir me débrouiller maintenant.

Merci pour ton aide.

beegees
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 21h16   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 009
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 009
Points : 45 093
Points : 45 093
c'est normal que ça me rappelle quelque chose ???
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/05/2011, 16h17   #7
Expert Confirmé Sénior
 
Avatar de Auteur
 
Inscription : avril 2004
Messages : 4 793
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 4 793
Points : 5 117
Points : 5 117
Citation:
Envoyé par SpaceFrog Voir le message
c'est normal que ça me rappelle quelque chose ???
tu peux être plus précis ? Le problème a déjà été soulevé ?

Question : est-ce ton expression régulière se trouve dans une boucle car la méthode test a un bug :
http://www.developpez.net/forums/d49...p/#post2947095
Auteur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 16h39   #8
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 239
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 239
Points : 1 046
Points : 1 046
Citation:
Envoyé par Auteur Voir le message
tu peux être plus précis ? Le problème a déjà été soulevé ?
Spaffey et moi en avions discuté hier dans la journée sur le chat. Je me suis déconnecté pour retourner à la maison en oubliant de prendre le code.

Nous en avons discuté ce matin (Spaffey et moi).

Bon W.E. et merci pour ton aide.

beegees
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 17h46   #9
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Citation:
Envoyé par Auteur Voir le message
Question : est-ce ton expression régulière se trouve dans une boucle car la méthode test a un bug :
http://www.developpez.net/forums/d49...p/#post2947095
It’s not a bug, it’s a feature! Et ce « bug » ne se produit qu'avec les regex qui ont l'option g. Sinon, le lastIndex reste à 0.

Citation:
Envoyé par Auteur Voir le message
Code :
var exp = new RegExp("^\d{6}[a-zA-Z]{2}\d{1,2}$","i");
Le problème quand on déclare les regex avec des chaînes…
Code :
var exp = new RegExp("^\\d{6}[a-zA-Z]{2}\\d{1,2}$","i");
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 17h57   #10
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
non non... le {1,2} n'a rien à faire ici...
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 18h03   #11
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Ah oui tiens, j'ai pas repris la bonne… Mais l'important c'est de bien échapper les backslashes.
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h58.


 
 
 
 
Partenaires

Hébergement Web