begin process at 2012 05 29 17:53:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

La Regex qu'elle est la mieux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

La Regex qu'elle est la mieux

vendredi 21 mars 2008 à 23:08:19 | La Regex qu'elle est la mieux

sapakus

Bonjour, pour mettre en forme un numéro de téléphone du type 0123456789 en 01.23.45.67.89, j'utilise la méthode replace avec un regex :

var numero='0123456789';
numero=numero.replace(/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/, "$1.$2.$3.$4.$5");


Et vous savez quoi ? ça marche !

Mais je dois avouer que mon expression régulière est vilaine et qu'il doit y avoir une solution regex bien plus élégante et condensée du genre : numero.replace(/Colles-moi un point tous les deux chiffres sauf pour les derniers (!)/," Et qu'ça saute $1");

Merci de vos suggestions.

S
apakus
samedi 22 mars 2008 à 10:24:54 | Re : La Regex qu'elle est la mieux

bultez

Membre Club
Réponse acceptée !


Bonjour,

    pas sûr justement qu'on puisse dire "remplacer tout sauf le dernier" !
       mais bon... je ne maîtrise pas réellement les expressions régulières...

    en attendant une réponse un peu plus séreiuse :



var numero='0123456789';
var cas=0;

numero=numero.replace(/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/, "$1.$2.$3.$4.$5");
       ou
numero=numero.replace(/(..)/g, "$1.").substring(0,14);
       ou
numero=numero.replace(/(..)/g,function($0)    {    cas++;
                                                                            var tmp=$0;
                                                                            if ( cas<5 ) tmp+=".";
                                                                            return tmp; });
alert(numero);





                Cordialement            Bul         [mon Site]     [M'écrire]
samedi 22 mars 2008 à 14:58:24 | Re : La Regex qu'elle est la mieux

sapakus

Réponse acceptée !
Merci pour ces suggestions Bultez, notamment  pour l'option /g et l'usage du point pertinent dans ce cas précis mais ...

...La Regex qu'elle est la mieux ... et bien c'est la mienne !!! Parce que j'ai trouvé !

Il faut utiliser le "test avant négatif" soit (?!\d{2}$) soit: remplaces sauf si les deux derniers chiffres sont en fin de chaine

Ce qui nous donne :

var numero="0123456789";

numero=numero.replace(/(?!\d{2}$)(\d{2})/g,"$1.");

ou plus court :

numero=numero.replace(/(?!..$)(..)/g,"$1.");

(car aprés tout c'est sensé être un numéro de téléphone donc on a affaire à des chiffres, inutile de le préciser)

Voilà, mais il y a peut-être encore mieux ! Car avec les expressions régulières on ne sait jamais !

Sapakus
samedi 22 mars 2008 à 16:09:26 | Re : La Regex qu'elle est la mieux

bultez

Membre Club
>>.replace(/(?!..$)(..)/g,"$1.");
    ah ben oui... nettement plus mieux !
>> mais il y a peut-être encore mieux
    y'a bien un autre intervenant qui va intervenir ( justement), ou toi....

                Cordialement            Bul         [mon Site]     [M'écrire]


Cette discussion est classée dans : numero, replace, regex


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec les expressions regulières (string.replace()) [ par Gorrk ] Voilà je souhaite transformer du code perso (, , ect) en code HTML.Voilà comment je fais :var text=document.forms[0].corps.value;text=text.rep recupere le texte contenu entre deux balises par un script [ par jeanfre ] j'ai un pb que j'arrive pas a résoudre, je voudrais recupere le texte contenu entre deux balises html par un script javascript pour faire des modif de replace() [ par Atorina ] Bonjour,J'aimerai savoir comment marche la fonction replace pour changer un caractère en un autre.Je voulais faire un truc genre :chaine.replace("à", addition et soustration dans un input grace a une checkbox [ par lefairdev ] Bonjour,je créé deux tableaux : taber = new Array(); taberreal = new Array(); Et j'aimerai faire une condition qui dis que si il n'y a rien dedans al Balise Include aléatoire [ par dumbop84 ] coucou tout le monde  bref .... voila j'ai un ch'tit' probléme ...j'aimerai faire charger une BALISE INCLUDE (php) particuliere à chaque chargement de recuperer le fichier ayant le numero le plus haut [ par encoreundebutant ] BonjourJe doit modifier un formulaire infopath et intervenir sur le code en javascript.mon probleme est :J'ai un repertoire "c:\formulaire" dans leque recuperer variable php [ par miss07 ] Salut, J'ai un petit probleme je ne sais pas comment je pourrais recuperer la valeur d'une variable. C'est à dire je fais une requete et le resultat j Transfert de variable..demande d'optimisation du script [ par laurent682 ] Je récapitule plus en détail ce que je voudrais réaliser: sur la page "envoi-donnees-5.htm", figure trois liens distincts, ouvrant tous une fenetre en remplacement (replace) [ par tonytruand ] Bonjour,Une petite question :Il est possible par la commande par exemple:zone.replace(/|||/g," ");de remplacer le , lelele etc ..par un espace "";mai Smileys [ par piep14 ] Bonjour, je souhaite ajouter dans un forum des smileys, les stocker dans une base de données puis les réafficher avec le message. J'ai essayé de faire


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales