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/07/2011, 17h44   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 180
Points : 29
Points : 29
Par défaut Numéro de tel sans espace ni séparateur pour un formulaire

Bonjour,

J'ai ce code pour inciter à l'utilisateur d'un formulaire à saisir un numéro de 9 à 15 chiffres et ça fonctionne bien
Code :
check1.addReg("ownertelno","text","required","blur","Veuillez saisir votre Numéro de téléphone, sans le 'zéro'",[9,15]);
Maintenant on me demande de ne pas autoriser les espaces ni aucun séparateur (points, tirets,...), et en plus que le numéro ne doit pas commencer par un "zéro"

J'ai compris qu'il faut utiliser les expressions régulières mais étant novice, je ne vois pas du tout comment faire.
Quels codes dois-je insérer svp ?

merci
miltonis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 17h48   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 18h03   #3
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 180
Points : 29
Points : 29
Citation:
Envoyé par Bovino Voir le message
Merci, quelle rapidité !!!
Je mets ça comme ça ?
Code :
check1.addReg("ownertelno","text","required","blur","Veuillez saisir votre Numéro de téléphone, sans le 'zéro'",[9,15,/^\d{9,15}$/;]);
EDIT : ça ne marche pas... :/
miltonis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 18h28   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Ben j'en sais rien, je connais pas la fonction addReg()
Tout ce que je peux dire au vu des infos que tu donnes, c'est que ce que je t'ai donné est la syntaxe d'une expression régulière qui vérifie le format entre 9 et 15 chiffres.
Ceci dit, j'avais oublié la contrainte pas de zéro au début, donc ça donnerait finalement
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 19h18   #5
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 180
Points : 29
Points : 29
D'accord, moi non plus je ne connais pas addReg(), j'ai récupéré le travail de quelqu'un d'autre...

J'ai essayé ça mais ça ne marche pas trop
Code :
1
2
3
4
5
6
7
8
var tel = form.ownertelno.value;
expression = new RegExp('/^[1-9]\d{8,14}$/');
 
if(expression.test(tel) != true) {
	alert ('Votre numero de téléphone n\'est pas valide. ' +
				 'Pour rappel vous ne devez mettre ni tiret  ni espace entre les chiffres... aucun séparateur ne sera pris en compte! ');
	return;
}
Que dois-je modifier ? J'suis un peu paumé là...
merci
miltonis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 19h27   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Il existe deux syntaxes pour définir une RegExp.
* La forme littérale
Code :
1
2
var reg = /regexp/modificateurs;
var expression = /^[1-9]\d{8,14}$/;
* La forme constructeur
Code :
1
2
var reg = new RegExp('regexp', 'modificateurs');
var expression = new RegExp('^[1-9]\\d{8,14}$');
Comme tu peux le constater, tu as fait un mix des deux

Et pour info, il est en général recommandé (en particulier pour des questions de performances) d'utiliser la forme littérale.

EDIT : ah, au fait, avec la forme constructeur, il faut aussi échapper l'antislash dans la chaine
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 19h44   #7
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 180
Points : 29
Points : 29
Merci Bovino,

Désolé, je n'y arrive pas, j'ai essayé ceci et sans aucune réaction de la part du formulaire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function validation(){
  if(document.form.ownerCGV.checked==true) {
    return true;
  }
  else {
    alert("Veuillez accepter les Conditions Générales de Vente");
    return false;
  }
 
	var tel = form.ownertelno.value;
	var reg = /regexp/modificateurs;
	var expression = /^[1-9]\d{8,14}$/;
 
	if(expression.form(tel) != true) {
		alert ('Votre numero de téléphone n\'est pas valide. ' +
					 'Pour rappel vous ne devez mettre ni tiret  ni espace entre les chiffres... aucun séparateur ne sera pris en compte! ');
		return;
	}			
}
Que faire svp ?
miltonis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 19h56   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Citation:
Envoyé par miltonis
Que faire svp ?
Ben... ne pas mettre de return avant la vérification du numéro de téléphone

Ensuite
Code :
var reg = /regexp/modificateurs;
c'était juste un exemple de la syntaxe, mais ça ne veut rien dire en soit regexp et modificateurs n'existent pas.

Enfin
j'imagine que tu veux dire test()
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h01   #9
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 772
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 772
Points : 2 329
Points : 2 329
Hum c'était un exemple qu'il te donnait !

Dans
tu mets la regexp et ensuite tu la test avec
Code :
Expression.test(chaine)
FirePrawn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h12   #10
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 180
Points : 29
Points : 29
Merci encore pour ta réponsé Bovino, je vais peut-être paraître impoli vu mais je viens de trouver ça :
http://checkform.imagika.fr/en/how-t...orm-class.html
Je vais du coup continuer avec ce style code car il est utilisé pour tous les champs.

l'exemple qui m'intéresse :
Code :
check1.addReg("ownertelno","text","required","blur","Veuillez saisir votre Numéro de téléphone, sans le 'zéro'",[9,15],[/^[1-9]\d{8,14}$/]);
ça fonctionne bien pour que le numéro contienne de 9 à 15 chiffre, mais pas de gestion de "pas de zéros au début" ni de "pas de séparateurs".

Selon le site en question, il suffit de mettre le regexp dans la balise pour que ça le gère.
Est-ce que du coup, le regexp reste le même que tu m'as donné ?

merci


EDIT : En faisant la méthode de Bovino, j'ai réussi (grâce à vous 2), merci ! Mais, j'aimerais si possible rester dans la continuité et résussir à utiliser le regexp avec le addReg...
miltonis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h23   #11
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 772
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 772
Points : 2 329
Points : 2 329
Pour ton expression, cherche sur le net, il y en a plein des cours dessus, et donc la signification de tous les symboles.

Après tu fais chauffer les neurones et tu pourras trouver la bonne regexp
FirePrawn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h31   #12
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Code :
check1.addReg("ownertelno","text","required","blur","Veuillez saisir votre Numéro de téléphone, sans le 'zéro'",'',[/^[1-9]\d{8,14}$/]);
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h36   #13
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 772
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 772
Points : 2 329
Points : 2 329
Bon ok sinon Bovino te la fait
FirePrawn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h46   #14
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 180
Points : 29
Points : 29
Citation:
Envoyé par Bovino Voir le message
Code :
check1.addReg("ownertelno","text","required","blur","Veuillez saisir votre Numéro de téléphone, sans le 'zéro'",'',[/^[1-9]\d{8,14}$/]);
Merci, je l'avais déjà testé comme ça, sans succès...
En faisant ta méthode Bovino, j'ai réussi, merci ! J'ai envoyé un email au concepteur du code , que je trouve super sauf sur ce point, mais je ne m'attends pas à avoir une réponse (rapide)
En attendant je reste avec le 2e code mais, j'aimerais si possible rester dans la continuité et résussir à utiliser le regexp avec le addReg...

on ne sait jamais
miltonis 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 07h48.


 
 
 
 
Partenaires

Hébergement Web