sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 2011
-
21 mars 2008 à 23:08
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
22 mars 2008 à 16:09
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");
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 22 mars 2008 à 10:24
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);
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 22 mars 2008 à 16:09
>>.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....
<hr /> Cordialement Bul [mon Site] [M'écrire]