第一个字母应该是字母/数字和正斜杠,除了&之外,每个特殊字符都是允许的。和|
new RegExp('^[\/A-Za-z0-9](([^\|\&]?[a-zA-Z0-9]?)*)$');
以上正则表达式工作正确的格式和最小字符,例如( / abcd%* )
如果我给长字符例如( / abcdabcdabcdabcdabcdabcdabcd& ),则在Firefox中出现停止脚本错误。请建议一些更好的正则表达式来修复它
答案 0 :(得分:4)
您的问题是捕获组(括号)。摆脱那些,没关系。尽量让它变得简单!
首字母应为字母/数字[或]正斜杠
^[/A-Za-z0-9]
允许使用每个特殊字符,除了&和|
[^|&]+
(您不需要逃离|
或&
。)
把它放在一起:
^[\/A-Za-z0-9][^|&]+$
试试here。