正则表达式顺序问题
话说有一题,针对密码框,数字和字母,两者须同在,正则表达式:/\d[A-Za-z]+|[A-Za-z]\d+/和/(?=.*\\d)(?=.*[A-Za-z])/两效果一...
话说有一题,针对密码框,数字和字母,两者须同在,正则表达式:/\d[A-Za-z]+|[A-Za-z]\d+/和/(?=.*\\d)(?=.*[A-Za-z])/两效果一样,?=.*是什么意思?数字和字母没有前后顺序限制。求更简单的表达式。
展开
5个回答
推荐于2018-04-18
展开全部
总的来说,你提供的这两个正则表达式都很有问题。
首先,你需要的正则表达式可以改成比较简单的写法:[\w\d]*(\w\d|\d\w)[\w\d]*
其次,(?=.*\\d)(?=.*[A-Za-z])这个式子的写法本身就很有问题,它匹配的是某正则表达式或是某字符后含有数字或字母而匹配时不包含,但是这某字符却没有加限定,这个前面应该还有正则表达式才对,而且,即便加了限定,理论上也匹配不到所有的组合,因为这种方法匹配时不包含?=后的内容。
综上所述,你还是试试这个吧……[\w\d]*(\w\d|\d\w)[\w\d]*
这个考虑到最极限的条件,只有前两个或最后两个字符是一字母一数字的情况也包含在内。
首先,你需要的正则表达式可以改成比较简单的写法:[\w\d]*(\w\d|\d\w)[\w\d]*
其次,(?=.*\\d)(?=.*[A-Za-z])这个式子的写法本身就很有问题,它匹配的是某正则表达式或是某字符后含有数字或字母而匹配时不包含,但是这某字符却没有加限定,这个前面应该还有正则表达式才对,而且,即便加了限定,理论上也匹配不到所有的组合,因为这种方法匹配时不包含?=后的内容。
综上所述,你还是试试这个吧……[\w\d]*(\w\d|\d\w)[\w\d]*
这个考虑到最极限的条件,只有前两个或最后两个字符是一字母一数字的情况也包含在内。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-15
展开全部
一个正则表达式的结果很多的 没有固定的答案如:^[A-Z a-z]+/d$ 就是输入框必须由字母和数字组成
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-15
展开全部
不太明白你的要求,下面是我常用的正则表达式密码框只能是字母和数字,不包含空格,最少6位,最多16位的正则表达式:(javascript) :/^[a-zA-Z\d]{6,16}$/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询