Bonjour à tous.
J'aimerais savoir la commande pour insérer un tiret en 6 ème position d'une chaine de caractère que je récupère d'un champs de saisie.
Par exemple:
77777111111
deviendrait
77777-111111
Merci pour votre aide.
Bonjour à tous.
J'aimerais savoir la commande pour insérer un tiret en 6 ème position d'une chaine de caractère que je récupère d'un champs de saisie.
Par exemple:
77777111111
deviendrait
77777-111111
Merci pour votre aide.
une autre possibilité par destructuration:
Code : Sélectionner tout - Visualiser dans une fenêtre à part str=str.replace(/^(.{5})/,"$1-");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 let str="77777111111"; let [a,b,c,d,e, ...rest]=str; console.log(a+b+c+d+e+"-"+rest.join(''))
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 !
j'ai ceci pour l'instant:
si je remplace (/\s/g,"") par (/^(.{5})/,"$1-") ça rajoute bien le tiret, ça marche nickel!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 b2.addEventListener("click",function(){ const num=z2.value; z.value=num.replace(/\s/g,""); z.select(); document.execCommand("copy") },false);
Merci!
Mais comment garder cette suppression d'espace avant l'insertion du tiret svp?
Bonjour,
Oui, c'est bien cela...
Suppression des espaces puis insertion du tiret.
Je n'y parviens pas.
EDIT:
Je viens de trouver ça, c'est bon?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 b2.addEventListener("click",function(){ const num=z2.value; z.value=num.replace(/\s/g,""); const num2=z.value; z.value=num2.replace(/^(.{5})/,"$1-"); document.execCommand("copy") },false);
Évite de créer des variables inutiles. Rien ne t'empêche d'enchaîner les méthodes sur un objet (tout ce que tu as à savoir, c'est quel type objet te renvoie une méthode et si tu peux utiliser la prochaine méthode sur ce type d'objet renvoyé):
machaine est de type string, tu peux lui appliquer la méthode String.prototype.replace() qui renvoie également un objet de type string auquel tu peux appliquer de nouveau la même méthode. Inutile donc de créer 150 variables pour faire ça, enchaîne les méthodes quand c'est possible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part let result = machaine.replace(/\s+/g, '').replace(/^(.{5})/, '$1-');
PS: il est possible de n'utiliser qu'une seule pattern pour faire les deux opérations, mais ce n'est pas un deal très intéressant car en contrepartie tu auras d'une part une pattern moins performante, et d'autre part un traitement du résultat plus complexe via une fonction en paramètre de remplacement de la méthode String.prototype.replace().
Brachygobius xanthozonus
Ctenobrycon Gymnocorymbus
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager