テキスト ボックスがあり、「Phone:」と表示されています。電話番号の標準は (XXX)-XXX-XXXX であるため、番号がその形式でない場合に自動的にその形式に変換する JavaScript が必要です。したがって、9993334444 と入力すると、(999)-333-4444 と入力しているときにその場で自動的に変更されます Javascript Phone Regex について Google を調べましたが、うまくいきませんでした。探している?
質問する
825 次
2 に答える
2
次のような正規表現で onkeyup イベントを追加したい
this.value = this.value.replace(/^\(?([0-9][0-9][0-9]){1}\)?-?([0-9][0-9][0-9][0-9]){1}-?([0-9][0-9][0-9]){1}$/, '($1)-$2-$3');
http://jsfiddle.net/R8enX/をチェックしてください
/ means start/end a regex string
^ means start of matching string
$ means end of matching string
? means 0 or 1 instances (make braces and dashes optional)
[0-9] means any single digit
(x){1} tags x as an expression that we can reference in the replacement with a $ sign
編集:数字の最後のグループで数字を逃したことに気付きました.jsfiddleは最後のグループの3桁でのみ(適切に)機能します
于 2012-05-16T12:11:44.103 に答える
0
@Andrewsの回答に基づいて構築するには、この方法で有効な(ローカル)電話番号を確認できます。番号が 10 桁より短いか大きい場合は、無効な番号に折りたたまれます
-
<input type="text" onBlur="localNumber(this.value)"/>
<div id="output"></div>
-
<script>
var localNumber = function(str){
repl = str.replace(/^([0-9]{3})([0-9]{3})([0-9]{4})$/, "($1)-$2-$3");
outp = document.getElementById('output');
if( repl.match(/\W/) )
{
outp.innerHTML = repl;
}
else
{
outp.innerHTML = 'Invalid number for this region';
}
}
</script>
于 2012-05-16T12:52:49.453 に答える