正则匹配:以小写字母开头,小写字母结尾,中间可以有一个短横(-)长度小于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之间,为什么匹配不对?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这个正则我的理解是表示以字母a-z开头,然后()中的内容出现1到31次,
()中表示A-Z a-z 0-9 _ - 其中任意一个可以出现>=1次
正则表示式可以这样写