1

電話番号のフォーム フィールドに 10 桁の数字、ハイフン、および ( ) 文字が含まれていることを確認するスクリプトを以下に示します。私が抱えている問題は、000 000 0000 という間隔で電話番号を入力する人が多いことです。

スクリプトが呼び出されると、エラー メッセージがスローされます。以下のスクリプトを使用して、指定された形式 000 000 0000 のスペースをエラーをスローせずに許可するにはどうすればよいですか?

助けてくれてありがとう!

              function validateTel(telnum) {
              if (telnum.match(/^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$/)) {
              return true;
              } else {
              return false;
              }
              }
4

2 に答える 2

0

この正規表現を使用して電話番号を照合できます

^\d{3}[ ]{0,1}\d{3}[ ]{0,1}\d{4}$

ここで説明を確認してくださいhttp://regex101.com/r/iG2fV4

サンプル:

var telRegExp = /^\d{3}[ ]{0,1}\d{3}[ ]{0,1}\d{4}$/;

console.log("1234567890".match(telRegExp))
console.log("123 456 7890".match(telRegExp))
console.log("123 4567890".match(telRegExp))
console.log("123456 7890".match(telRegExp))
console.log("a1234567890".match(telRegExp))

出力

[ '1234567890', index: 0, input: '1234567890' ]
[ '123 456 7890', index: 0, input: '123 456 7890' ]
[ '123 4567890', index: 0, input: '123 4567890' ]
[ '123456 7890', index: 0, input: '123456 7890' ]
null
于 2013-10-26T09:02:35.557 に答える
0

アンカーの使い方は?

/^\d{10}$/

またはこの正規表現かもしれません:-

/^\+?\d{2}[- ]?\d{3}[- ]?\d{5}$/

または、電話番号を検証するためのほとんどのケースをカバーする次の正規表現である可能性があります。

^(?:\+?\d{2}[ -]?\d{3}[ -]?\d{5}|\d{4})$

正規表現のデモ

于 2013-10-26T09:02:35.640 に答える