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

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

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

2024-11-22 08:57:23

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

可以试试这个
^[\u4E00-\u9FA5A-Za-z0-9][\u4E00-\u9FA5A-Za-z0-9_]{0,14}[\u4E00-\u9FA5A-Za-z0-9]$
追问
张知识了,非常非常感谢您
天边シ深海

2024-11-22 09:02:59

不包括_开头或结尾,长度2-16对吧:var check=/^[^_]\S{0,14}[^_]$/
这个你试试,本人是初学者啊,不是太精通!错的地方还请多指点啊。
我不勇敢

2024-11-22 09:22:41

开头加个[^\_] 就能阻止开头为下划线,至于结尾,没研究过
追问
同样感谢你的回答
追答
客气了!