为了账号安全,请及时绑定邮箱和手机立即绑定

求一个关于用户名得字母数字正则表达式?

/ 猿问

求一个关于用户名得字母数字正则表达式?

幕布斯5086720 2018-08-18 14:57:41

正则要求是:小写字母开头,+数字/字母/减号,最少3位,最长16位

我自己参考了一些百度的资料,就差一点点就ok了,现在有个小问题,调不出来。

/^[a-z][a-z1-9-]{3,16}$/

我输入 4个a,aaaa 是不匹配的。这个满足最小长度3。
我输入 17个a, 还是匹配了。输入19个a,才不匹配。
应该是17个a,就不匹配了。就false了。

这个是咋回事,按照那个表达式理解,好像没什么错误,实际是不行。

查看完整描述

3 回答

?
慕容708150

因为{n, m}表示匹配前面的字符至少n次,最多m次。所以你的正则表达式匹配的是最少4位,最长17位。所以只需要将你的正则表达式改为/^[a-z][a-z1-9-]{2,15}$/即可

查看完整回答
反对 回复 2018-08-19
?
45度呼吸

/^[a-z][a-zA-Z0-9\-]{2,15}$/

查看完整回答
反对 回复 2018-08-19
  • 3 回答
  • 0 关注
  • 504 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信