3

オーバーフローの皆さん、こんにちは。

########## (10 桁) の形式の電話番号を検証する正規表現を作成しようとしています。つまり、これは有効なケースです: 1231231234 または 1111111111。無効なケースは文字列になります。 10 桁未満または 10 桁を超える桁数。

これまでの表現は「\d{10}」です。

残念ながら、文字列が 11 桁以上の長さであるかどうかは適切に検証されません。

このタスクを達成するための式を知っている人はいますか?

4

6 に答える 6

8

ancorsを使用する必要があります。

/^\d{10}$/
于 2013-04-10T23:58:43.530 に答える
4

開始と終了も固定する必要があります

/^\d{10}$/

これは 10 桁の数字のみに一致します。

于 2013-04-10T23:58:32.057 に答える
2

ユーザーエクスペリエンスを向上させるために、ダッシュ(xxx-xxx-xxxx)を使用するオプションを含めました(これがあなたのサイトであると仮定します):

var regex = /^\d{3}-?\d{3}-?\d{4}$/g
window.alert(regex.test('1234567890'));

http://jsfiddle.net/bh4ux/279/

于 2013-04-10T23:59:44.503 に答える
0

またはこれ(文字列から数字以外の文字を削除します)

var phoneNumber = "(07) 1234-5678";
phoneNumber = phoneNumber.replace(/\D/g,'');
if (phoneNumber.length == 10) {
    alert(phoneNumber + ' contains 10 digits');
    }
else {
    alert(phoneNumber + ' does not contain 10 digits');
    }
于 2013-09-20T05:23:41.987 に答える