长值

时间:2015-10-08 11:01:07

标签: javascript regex

第一个字母应该是字母/数字和正斜杠,除了&之外,每个特殊字符都是允许的。和|

 new RegExp('^[\/A-Za-z0-9](([^\|\&]?[a-zA-Z0-9]?)*)$');

以上正则表达式工作正确的格式和最小字符,例如( / abcd%*

如果我给长字符例如( / abcdabcdabcdabcdabcdabcdabcd& ),则在Firefox中出现停止脚本错误。请建议一些更好的正则表达式来修复它

Demo

1 个答案:

答案 0 :(得分:4)

您的问题是捕获组(括号)。摆脱那些,没关系。尽量让它变得简单!

  

首字母应为字母/数字[或]正斜杠

^[/A-Za-z0-9]
  

允许使用每个特殊字符,除了&和|

[^|&]+

(您不需要逃离|&。)

把它放在一起:

^[\/A-Za-z0-9][^|&]+$

试试here