不包含特殊字符的电话号码正则表达式
本文关键字:电话号码 正则表达式 特殊字符 包含 | 更新日期: 2023-09-27 18:18:20
我使用正则表达式表示电话号码。它允许至少10个数字,包括特殊字符,如+()-
+1(33)-489256
我使用的正则表达式是:
^'D*(?:'d'D*){10,}$
它工作正常,但它不应该允许在电话号码中使用其他特殊字符,如#@$%
请让我知道如何更新我的正则表达式。
^'D*(?:'d'D*){10,}$
^^
[+()-]
指出你的正则表达式问题
'D
:除数字以外的任何字符
您的regex中的问题是'D*
,这将匹配任何非数字字符(包括特殊字符)的任意次数。
/^('+'d{1,4})?('d{2}')-'d{6}$/
Regex演示与说明
-
/
:正则表达式的分隔符 -
^
:从锚开始 -
'+'d{1,3}
:+
后1 ~ 3位 -
'd
:匹配个位数 -
'(
:匹配(
-
'd{2}
:完全匹配两个数字 -
')
:匹配)
-
-
:匹配-
-
'd{6}
:匹配六位数字 -
$
:以锚结束
现场演示
input:valid {
color: green;
}
input:invalid {
color: red;
}
<input type="text" pattern="('+'d{1,4})?'('d{2}')-'d{6}" />