2011-02-03 14 views
0

私は電話フォーマットに数字を変換する次の正規表現を使用しています。正規表現のヘルプが必要

telephoneNumber = '1234567890'; 
var number = telephoneNumber.replace(/\D/g,''); 
newNumber = number.replace(/^(\d{3})(\d{3})(\d{4})$/, '($1)$2-$3'); // (123)456-7890 

問題はtelephoneNumber.lengthが10より大きい場合、それは何もしないということです。私は電話番号の最後に余分な数字を追加したいと思います。例えば

:私は正規表現の上で変更する必要がありますどのような

change 1234567890 to (123)456-7890 
change 1234567890111 to (123)456-7890111 

ありがとうございました。

答えて

1

はこれに最後の行を変更してみてください: newNumber = number.replace(/^(\d{3})(\d{3})(\d{4,})$/, '($1)$2-$3');

私はこれが4桁以上の数字を取るためにそれを伝え\d{4の後にコンマを追加しました。

また、私は頻繁にこのサイトを使って正規表現をテストします:http://gskinner.com/RegExr/非常に便利です。

1

唯一の理由は、私はあなただけの電話番号に文字列をフォーマットしようとしている場合しかし、なぜちょうどJavascript Phone Number Formatter

+0

聖行き過ぎバットマンを使用しないで、あなたは正規表現は、検証用で使いたい見ることができます! –

+0

それをコピーし、それをscriptsディレクトリに置き、それを何度も繰り返し使用します。正規表現は最後の手段です(IMO)。 –

関連する問題