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