我有一个可以接受这些格式的 html 电话模式:
+61 x xxxx xxxx,
+61xxxxxxxxx,
0x xxxx xxxx,
0xxxxxxxxx,
xxxx xxxx,
xxxxxxxx,
+xx xxx xxx xxx,
+xxxxxxxxxxx,
0xxx xxx xxx,
0xxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
几个月前它正在工作,现在突然我的电话字段没有验证。我有这个错误:
Pattern attribute value ^(?:0|\(?\+61\)?\s?|0061\s?)[1-79](?:[\.\-\s]?\d\d){4}|(\d{4}[\s]\d{4})|(\d{8})|(\d{4}[\s]\d{3}[\s]\d{3})|(\+61\[\s]\d{3}[\s]\d{3}[\s]\d{3})|(\+61\s\d{3}\s\d{3}\s\d{3})$ is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /^(?:0|\(?\+61\)?\s?|0061\s?)[1-79](?:[\.\-\s]?\d\d){4}|(\d{4}[\s]\d{4})|(\d{8})|(\d{4}[\s]\d{3}[\s]\d{3})|(\+61\[\s]\d{3}[\s]\d{3}[\s]\d{3})|(\+61\s\d{3}\s\d{3}\s\d{3})$/: Lone quantifier brackets
Run Code Online (Sandbox Code Playgroud)
Arm*_*ali 18
到目前为止,没有人关心显示错误在您的模式中的哪个位置。
…|(\+61\[\s]\d{3}[\s]\d{3}[\s]\d{3})|(\+61\s\d{3}\s\d{3}\s\d{3})$
^
Run Code Online (Sandbox Code Playgroud)
您错误地插入了反斜杠,转义了左括号,因此将其设为普通字符并保留了右括号Lone。(遗憾的是,错误消息有些误导,因为这些括号当然不是quantifier brackets。)
nic*_*ank -1
这正是意味着,模式无效。
如果您想匹配来自澳大利亚的手机,您可以使用:
pattern="^(?:0|\(?\+61\)?\s?|0061\s?)[1-79](?:[\.\-\s]?\d\d){4}$"
Run Code Online (Sandbox Code Playgroud)
模式在这里找到。
示例: https: //jsfiddle.net
| 归档时间: |
|
| 查看次数: |
7857 次 |
| 最近记录: |