javascript - js正则表达式{}范围
黄舟
黄舟 2017-06-12 09:32:53
0
2
954

正则匹配:以小写字母开头,小写字母结尾,中间可以有一个短横(-)长度小于32字符

var ss = /^[a-z]+([A-Za-z0-9_]|(-?)|[a-z]+$){1,31}/;
str="ss-fjdkkldjkskjdskjdksjdkjdkjklskssdkdkffdkdfkdfk";
ss.test(str);

返回的结果是
true
正常应该返回false。
其中{1,31}表示匹配前面的范围在1到31之间,为什么匹配不对?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
刘奇

这个正则我的理解是表示以字母a-z开头,然后()中的内容出现1到31次,
()中表示A-Z a-z 0-9 _ - 其中任意一个可以出现>=1次

淡淡烟草味

正则表示式可以这样写

/^(?=.{1,32}$)[a-z]\w*(?:-\w*[a-z])?$/
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板