在线求解JS正则表达式,不允许下划线开头

/^([\u4E00-\u9FA5]|[A-z0-9]){1}([\u4E00-\u9FA5]|[A-z0-9]|[_]){2,16}([\u4E00-\u9FA5]|[A-z0-9]){1}$/

内容是由中文和字母还有数字下划线组成,长度2-16,但不能以下划线开头和结尾
我是这样写的,但发现没用,开头和结尾用下划线依然给我过了,就是下划线的问题
谢谢各位帮我解答下

第1个回答  2013-09-09
你的问题应该是在
[A-z] 的使用,这个是可以匹配到下划线的,建议还是使用[A-Za-z]
还有你对长度的限制也有问题,这个出来是4~18位的

可以试试这个
^[\u4E00-\u9FA5A-Za-z0-9][\u4E00-\u9FA5A-Za-z0-9_]{0,14}[\u4E00-\u9FA5A-Za-z0-9]$追问

张知识了,非常非常感谢您

第2个回答  2013-09-09
不包括_开头或结尾,长度2-16对吧:var check=/^[^_]\S{0,14}[^_]$/
这个你试试,本人是初学者啊,不是太精通!错的地方还请多指点啊。本回答被提问者采纳
第3个回答  2013-09-09
开头加个[^\_] 就能阻止开头为下划线,至于结尾,没研究过追问

同样感谢你的回答

追答

客气了!

相似回答