我正在使用正则表达式模式来验证输入,但是我不确定如何包括()和-符号。
说明:不必填写输入字符串。如果填写完毕,则必须有5个数字,并且输入不能以26开头。此外,输入必须接受括号和破折号,并且可以将其放置在输入的任何部分。我最多接受10个字符
尝试过:
(^(?!26)((\d){5}))?
仅适用于:-空输入-十位数字,例如0123456789-如果开始时有26,也将拒绝,例如2651234567
另外,尝试包含-和(),但此模式根本不起作用
(^(?!26)(\-\(\))((\d){5}))?
Valid inputs:
(12345)--
---12)567)
12333
-1-2--3-45
(()))12345
((12345
(-)65768-
(4)1-2-35
Invalid inputs:
26123---
(26)897---
-26333----
26
26(((())
26------
26--345
26)88-76
267-9
我发现讨论了一个用于电话号码验证的综合正则表达式,它很有帮助,但我仍然无法完全匹配我的输入内容。
您正在使用Java风格的正则表达式。正确的正则表达式模式为:
^(?!26)([-()]*\d){5}[-()]*$
这将使您输入的内容不能以26开头。但是,您的帖子没有指定是否可能是--2)6-218(它不是以26开头,但是前两位数字是26)。如果是这种情况,那么您将需要:
^(?![-()]*2[-()]*6)([-()]*\d){5}[-()]*$
最多10个字符应在输入上验证maxlength=10
。
编辑:正如@ zx81所指出的,我有一些不必要的转义。我不知道我在想什么,对不起。但是,此正则表达式模式不接受空字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句