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

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

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

温温酱 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

TA贡献1831条经验 获得超4个赞

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

查看完整回答
反对 回复 2018-08-19
?
开心每一天1111

TA贡献1836条经验 获得超12个赞

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

查看完整回答
反对 回复 2018-08-19
  • 3 回答
  • 0 关注
  • 1261 浏览
慕课专栏
更多

添加回答

举报

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