2010-12-08 13 views
2

J'ai des chaînes (numéros de téléphone) comme ceci:Motif correspondant dans jQuery?

1112223333 
1234567890 

Et je veux les convertir comme ceci:

(111)222-3333 
(123)456-7890 

Comment faire est jQuery.

Merci

+2

http://stackoverflow.com/questions/3579479/format-int-to-phone-number – user113716

+0

Heh, vous avez raison ... mais écrire des expressions régulières est tellement amusant! –

Répondre

3

Pas jquery javascript nécessaire, il suffit d'expressions régulières:

var aNumber = '1112223333'; 
var aPhoneNumber = aNumber.replace(/^(\d{3})(\d{3})(\d{4})$/, '($1)$2-$3'); 

Soit dit en passant, je suppose chiffres sont toujours de la forme '(xxx) xxx-xxxx', 3- 3-4 numéros.

+0

Les deux modèles ont le même modèle, de sorte que la règle «d'abord le premier arrivé» est appliquée. – Awan

+0

@Awan Sort of, le mien permet une longueur arbitraire des derniers chiffres. :) – alex

4
var phone = '1234567890'; 

phone.replace(/^(\d{3})(\d{3})(\d+)$/, '($1)$2-$3'); // (123)456-7890 

See it on jsFiddle.

Si vous souhaitez faire correspondre exactement cette longueur, utilisez un quantificateur {4} à la place du dernier +.