我发现pattern
type="tel"
的某些\d{3}[\-]\d{3}[\-]\d{4}
值,例如<input pattern="?(\d{3}?)? \d{3}?-\d{4}" type="tel" />
,但我需要一个与正确模式匹配的模式和两种常见的非正确格式:< / p>
以下似乎适用于所有三种格式:
COUNT
这是否有效或是否存在无效的字符串仍然有效?这是优化得好还是有更快的方式来运行正则表达式?额外奖励:如何正确支持国际电话号码格式?
答案 0 :(得分:0)
在w3schools,我通过了例子(1234567890和jhj,这不是你想要的。
但是,可以检查解决方案here。 它正在查看所有示例字符串,因为设置了全局标志。标志设置位于模式的右侧。 在LHS上有一个正则表达式调试器,它显示了它是如何工作的。 关于RHS的解释解释了所有符号的全部内容。
模式应仅匹配指定的格式。
图案=” \(\ d {3} \)\ S \ d {3} - \ d {4} | \ d {3} - \ d {3} - \ d {4} | \ d { 10}”
它看起来很复杂,但在检查时是你的
正确的模式|第一个不正确的格式|第二种不合适的格式
(123)456-7890 | 123-456-7890 | 1234567890
“\(\ d {3} \)\ s \ d {3} - \ d {4} | \ d {3} - \ d {3} - \ d {4} | \ d {10}”