javascript 正则表达式字符个数的问题
正则规定了一个或者多个数字,后跟着1个或者0个字母,后面我加了{5}就是一共5位。可是,为什么是false?varstr="1234a";alert(/^(\d+[a-z...
正则规定了一个或者多个数字,后跟着1个或者0个字母,后面我加了{5}就是一共5位。
可是,为什么是false?
var str ="1234a";
alert(/^(\d+[a-zA-Z]?){5}$/.test(str)); //false 展开
可是,为什么是false?
var str ="1234a";
alert(/^(\d+[a-zA-Z]?){5}$/.test(str)); //false 展开
展开全部
/^(\d+[a-zA-Z]?){5}$/ 这个正则表达式,
如果不加后面的{5},匹配以数字开头的一个或者多个数字,后跟着1个或者0个字母,
如果加上{5},则匹配至少以5个数字开头的五个或多个数字,另外中间和后面可能会有0个或多个字母
/^(\d+[a-zA-Z]?){5}$/ 等同于正则表达式/^(\d+[a-zA-Z]?)(\d+[a-zA-Z]?)(\d+[a-zA-Z]?)(\d+[a-zA-Z]?)(\d+[a-zA-Z]?)$/
即5个^(\d+[a-zA-Z]?)
如果不加后面的{5},匹配以数字开头的一个或者多个数字,后跟着1个或者0个字母,
如果加上{5},则匹配至少以5个数字开头的五个或多个数字,另外中间和后面可能会有0个或多个字母
/^(\d+[a-zA-Z]?){5}$/ 等同于正则表达式/^(\d+[a-zA-Z]?)(\d+[a-zA-Z]?)(\d+[a-zA-Z]?)(\d+[a-zA-Z]?)(\d+[a-zA-Z]?)$/
即5个^(\d+[a-zA-Z]?)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询