IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Numéro de tel sans espace ni séparateur pour un formulaire [RegExp]


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, 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
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Merci, quelle rapidité !!!
    Je mets ça comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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... :/

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il existe deux syntaxes pour définir une RegExp.
    * La forme littérale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var reg = /regexp/modificateurs;
    var expression = /^[1-9]\d{8,14}$/;
    * La forme constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    Merci Bovino,

    Désolé, je n'y arrive pas, j'ai essayé ceci et sans aucune réaction de la part du formulaire :
    Code : 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
    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 ?

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Hum c'était un exemple qu'il te donnait !

    Dans
    tu mets la regexp et ensuite tu la test avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expression.test(chaine)
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  11. #11
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    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
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bon ok sinon Bovino te la fait
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegExp] Expression régulière pour exclure email, numéros de tel, url
    Par missloo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 22/05/2015, 14h10
  2. [XL-2003] Macro pour onglet sans espace
    Par Un Internaute dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/04/2014, 08h20
  3. Fonction pour valider une numéro de Tel
    Par algerino77 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 05/12/2013, 14h51
  4. type de variable pour numéro de tel?
    Par Naoned005 dans le forum C#
    Réponses: 10
    Dernier message: 19/01/2012, 09h12
  5. [Excel] séparateur pour les fichiers csv
    Par drinkmilk dans le forum Excel
    Réponses: 2
    Dernier message: 27/08/2005, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo