JavaScriptで電話番号を検証する 質問する

JavaScriptで電話番号を検証する 質問する

このコードはどこかのウェブサイトで見つけたのですが、完璧に機能します。電話番号が次のいずれかの形式であることを確認します:
(123) 456-7890または123-456-7890

問題は、私のクライアントが (理由はわかりませんが、クライアント側の事情かもしれません) 別の形式、つまり1234567890のような 10 個の数字を連続して追加したいということです。

私は正規表現を使っています。

/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/

別の形式も検証するように追加するにはどうすればよいですか? 正規表現は得意ではありません。

ベストアンサー1

私が選んだ正規表現は次のとおりです:

/^[\+]?[0-9]{0,3}\W?+[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im

有効な形式:

(123) 456-7890
(123)456-7890
123-456-7890
123.456.7890
1234567890
+31636363634
075-63546725
+1 (415)-555-1212
+1 (123) 456-7890
+1 (123)456-7890
+1 123-456-7890
+1 123.456.7890
+1 1234567890
+1 075-63546725
+12 (415)-555-1212
+12 (123) 456-7890
+12 (123)456-7890
+12 123-456-7890
+12 123.456.7890
+12 1234567890
+123 075-63546725
+123 (415)-555-1212
+123 (123) 456-7890
+123 (123)456-7890
+123 123-456-7890
+123 123.456.7890
+123 1234567890
+123 075-63546725
+1(415)-555-1212
+1(123) 456-7890
+1(123)456-7890
+1123-456-7890
+1123.456.7890
+11234567890
+1075-63546725
+12(415)-555-1212
+12(123) 456-7890
+12(123)456-7890
+12123-456-7890
+12123.456.7890
+121234567890
+123075-63546725
+123(415)-555-1212
+123(123) 456-7890
+123(123)456-7890
+123123-456-7890
+123123.456.7890
+1231234567890
+123075-63546725

おすすめ記事