【发布时间】:2019-04-17 11:05:10
【问题描述】:
我有一个特殊要求,我需要实现以下目标
- 除字符串之间的
_外,不允许使用特殊字符。 - 字符串不应以
_、.和数值开头或结尾。 - 不得在任何数值前后使用下划线。
我能够实现大部分,但我的 RegEx 模式也允许其他特殊字符。
我如何修改下面的 RegEx 模式以不允许任何特殊字符(除了下划线)在字符串之间。
^[^0-9._]*[a-zA-Z0-9_]*[^0-9._]$
【问题讨论】:
-
另外,下面的模式对我有用,但我确信这不是最好的解决方案。
^[^0-9`|\~|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\+|\=|\[|\{|\]|\}|\||\\|\'|\<|\,|\.|\>|\?|\/|\""|\;|\:|\s]*[a-zA-Z0-9_]*[^`|\~|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\+|\=|\[|\{|\]|\}|\||\\|\'|\<|\,|\.|\>|\?|\/|\""|\;|\:|\s]*[^0-9`|\~|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\+|\=|\[|\{|\]|\}|\||\\|\'|\<|\,|\.|\>|\?|\/|\""|\;|\:|\s]$ -
试试
/^(?=[A-Z])(?=.*[A-Z]$)(?!.*_\d)(?!.*\d_)\w+$/i
标签: javascript regex