用于正确和常见的非正确格式化电话号码的电话模式

时间:2017-06-06 23:18:05

标签: html5

我发现pattern type="tel"的某些\d{3}[\-]\d{3}[\-]\d{4}值,例如<input pattern="?(\d{3}?)? \d{3}?-\d{4}" type="tel" /> ,但我需要一个与正确模式匹配的模式和两种常见的非正确格式:< / p>

  • (123)456-7890(正确)
  • 123-456-7890
  • 1234567890

以下似乎适用于所有三种格式:

COUNT

这是否有效或是否存在无效的字符串仍然有效?这是优化得好还是有更快的方式来运行正则表达式?额外奖励:如何正确支持国际电话号码格式?

1 个答案:

答案 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}”