我必须验证一些用户输入,并且只能接受0-9之间的数字以及特殊字符- ( ) +
和空格。
通过规则:
((
))
++
--
都将无效。+
或00
(1)
(12)
(123)
等等是可以接受的,而()
)(
( )
是不可接受的。我可以使用^([0][0]|[+])
有什么想法吗?
答案 0 :(得分:1)
试一试:
^(00|\+(?!\+))(\+(?!\+)|(\-(?!\-))|( (?! ))|(\([1-9][0-9]*\)))*$
它完全按照您的指定遵循您的每个规则。如果你没有完全澄清你的规则,我很难给你一个准确的正则表达式,但假设你写下了确切的规则,这应该有效!
请记住,您已经包含了一个奇怪的情况,其中字符串+
将匹配。我不确定这是故意的。
这个正则表达式使得自由使用负面前瞻。请务必访问www.regular-expressions.info和www.regexpal.com以了解您的正则表达技巧!