Regex 正则表达式:仅接受0-9之间的数字以及特殊字符“-()+”和空格

Regex 正则表达式:仅接受0-9之间的数字以及特殊字符“-()+”和空格,regex,Regex,我必须验证一些用户输入,并且只能接受0-9之间的数字以及特殊字符-+和空格 根据规则: 同一个特殊字符(包括空格)不能连续出现两次,例如++-将全部无效。 字符串必须以+或00开头 开始括号必须始终位于结束括号之前,并包含一个大于1位的数字,例如1 12 123等。。。可接受,但不可接受。 我可以用^[0][0]|[+]来锻炼第2点,试一试: ^00 |\+?!\+\+?!\+\-?!\-|\[1-9][0-9]*\*$ 它完全按照您指定的规则执行。如果你没有完全阐明你的规则,我就很难给你一个准

我必须验证一些用户输入,并且只能接受0-9之间的数字以及特殊字符-+和空格

根据规则:

同一个特殊字符(包括空格)不能连续出现两次,例如++-将全部无效。 字符串必须以+或00开头 开始括号必须始终位于结束括号之前,并包含一个大于1位的数字,例如1 12 123等。。。可接受,但不可接受。 我可以用^[0][0]|[+]

来锻炼第2点,试一试:

^00 |\+?!\+\+?!\+\-?!\-|\[1-9][0-9]*\*$

它完全按照您指定的规则执行。如果你没有完全阐明你的规则,我就很难给你一个准确的正则表达式,但是假设你写下了确切的规则,这应该行得通

请记住,您包含了一个奇数情况,其中字符串+将被匹配。我不确定那是故意的


这个正则表达式自由地使用了负前瞻。请务必访问www.regular-expressions.info和www.regexpal.com,了解您的正则表达式技能

你已经熟悉正则表达式了吗?如果没有,我建议您先访问www.regular-expressions.info,然后访问www.regexpal.com进行测试。您使用的是哪种语言的表达式?请尝试jQuery masking input plugin:没有,很遗憾,我不熟悉它。关于语言,这是一个困难的问题;正则表达式存储在数据库中,并在运行时提取。然后,它作为JQuery/Javascript的一部分运行,用于客户端验证,也用于服务器端C。是否可以使用嵌套的括号,例如[123]]?