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 :

Mettre un tiret séparateur tous les 2 chiffres dans un numéro


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Par défaut Mettre un tiret séparateur tous les 2 chiffres dans un numéro
    Bonjour à tous,

    Je débute en Javascript et j'aimerais réaliser une fonction qui a la saisis d'un utilisateur dans un champ définit pour un numéro de téléphone celle-ci lui place un tiret (-) tous les deux chiffres
    Par exemple si il tape ceci : 0605010000, cela deviendrait pendant ça saisis au fur a mesure à chaque 2 chiffres : 06-05-01-00-00.

    Merci d'avance a ceux qui prendront le temps de me répondre.
    Bonne journée.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    il existe plusieurs façons de faire,
    en voici une basée sur un split et une regex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tel="0605010000";
    tel=tel.match(/\d{2}/g).join('-');
    alert (tel);
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Par défaut
    Bonjour,

    J'ai tester ta méthode, sauf qu'elle ne fonctionne pas dans mon cas, je voudrais la faire rentrer dans une fonction et l'appeler dans un onkeyup.
    Car je voudrais vraiment qu'a la saisis de l'utilisateur en direct, a chaque 2 chiffres il y est un tiret séparateur. Je sais pas si j'ai bien décris ce que je voulais faire mais voila en gros.

    Merci pour ta réponse en tous cas.

  4. #4
    Membre expérimenté
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 383
    Par défaut
    @Kévin78
    Et ou est le soucis avec ce qu'il t'as donné

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Il veut le faire en live sur le keyup au fur et a mesure de la saisie

    le plus simple serait de passer par 5 input de size 2 avec des tabIndex et de les concatener
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Par défaut
    Oui c'est ça, sauf que je n'est pas compris comment concaténé les input ? (ils seront séparer comme des cases non ?)

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    et si au lieu de 0605010000, je veut écrire +33 605010000 ?

    Il faut pousser plus loin la réflexion.

    N.B. Perso, je ne voit pas du tout l'intérêt d'ajouter des tirets (sauf pour un simple "exercice").

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    NoSmo ... des fois il faut brider le user ...

    Et si j'ai envoie de taper "je ne te filerai pas mon 06" ...

    On peut imaginer que comme pour les datePickers on fasse un telpicker

    Après bien entendu tout dépend si on autorise ou pas les nr étranger avec les codes pays ...

    un autre version https://jsfiddle.net/kuw0e4c3/3/
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Voir aussi :


    ...la valeur saisie n'est pas automatiquement validée selon un format donné car les formats des numéros de téléphone varient à travers le monde...
    Cela dit, on peut définir/forcer un format grâce à l'attribut pattern.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tél. : <input type="tel" placeholder="+xxx-xx-xx-xx-xx" pattern="\+?\d{2,3}-\d{2}-\d{2}-\d{2}-\d{2}" />
    Accepte :
    • +336-12-34-56-78
    • 06-12-34-56-78
    Dernière modification par Invité ; 13/06/2019 à 11h45.

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Par défaut
    Merci c'est exactement ce que je cherchais, pour les indicatif j'ai réservé un input a coté, lorsque l'utilisateur sélectionnera un indicatif (à partir d'un select) l'input réservé recevra la valeur de l'indicatif sélectionné.
    Après c'est vrai qu'en y réfléchissant il y a des numéros de 3 chiffres suivis de 3 autres chiffres etc.. comme au Etats-Unis je crois.

    Je réfléchirais a la solution avec mon patron car je suis en stage. Merci en tous cas pour vos réponses et votre temps.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Il faut aussi penser que la France, c'est aussi les DOM-TOM (indicatifs à 3 chiffres, et numéro à 6 chiffres *) :

    * ex. en Nouvelle Calédonie : +687 12 34 56 (ou +687 123 456)
    ou plus "exotiques" (Nouvelle Calédonie, Chine, Afrique,...) : https://www.jare-industries.com/fr/7/contact

    Grouper par 2 ou par 3 chiffres est une convention (ou "habitude") mnémotechnique, pour retenir plus facilement le numéro.

    DONC, perso, je ne mets aucune contrainte sur les numéros de téléphone.

  13. #13
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Par défaut
    Je me demande s'il n'y aurait pas moyen de récupérer des paramètres sur le système hôte pour pré remplir avec le bon indicatif ??

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

Discussions similaires

  1. (Récursivité) Une virgule tous les 3 chiffres
    Par loader dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 18/09/2008, 14h32
  2. Mettre une class sur tous les input sauf les radio
    Par kevinf dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 22/10/2007, 20h26
  3. Mettre une même valeur à tous les champs d'un formulaire.
    Par nodogeid dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/06/2007, 15h43
  4. [Requête]Compter tous les mêmes chiffres
    Par Lex O'Mil dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 27/03/2007, 19h43
  5. mettre des Zero a tous les champ null d'un coup
    Par LesLemmings dans le forum Access
    Réponses: 3
    Dernier message: 14/06/2006, 09h34

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