9
votes

Comment formater ce numéro de téléphone international dans les rails?

Si j'ai un numéro de téléphone international tel que celui-ci:

0541754301

Comment puis-je le formater pour produire quelque chose comme ceci:

0541-754-301


0 commentaires

4 Réponses :


20
votes

Vous pouvez utiliser le number_to_phone (numéro, options = {}) méthode de actionview :: Ateleurs :: NumberHelper

Cependant, les documents soulignent que cette méthode formate un numéro dans un numéro de téléphone américain (par exemple, (555) 123-9876).

à la place, vous pouvez utiliser Ce correctif qui ajoute la capacité de fournir Nombre de groupements: xxx

Donc, dans votre cas, vous appelez: xxx

à produire:

0541-754-301


0 commentaires

10
votes

Vous pouvez utiliser une expression régulière pour reformater la chaîne. Pour l'exemple que vous avez donné: xxx


0 commentaires

3
votes

Il y a PHONY et téléphone Gems disponible. XXX PRE>

ou Simliaire P>

phone.format("+ %c (%a) %n") # => "+ 385 (91) 5125486"


0 commentaires

11
votes

ou, puisque vous ne cherchez rien de fantaisie comme des parenthèses ou «+», mais simplement des traits d'union entre groupes numériques, vous pouvez:

"0541754301".unpack('A4A3A3').join('-')


1 commentaires

parfait! simple et facile. travaille également avec WhitSpace comme délimiteur.