JS 正则表达式 判断密码必须含有大小写字母+数字 否则返回false

JavaScript022

JS 正则表达式 判断密码必须含有大小写字母+数字 否则返回false,第1张

1楼的貌似没看清楚问题,要求是必须含字母和数字,不是必须是字母或数字。functioncheck(){varstr=‘要检查的字符串’varreg=newRegExp(/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/)if(reg.test(str)){returntrue}else{returnfalse}}

题主你好,

正则及测试截图如下:

文字版:

^(?=(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[\\W_])|(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])|(?=.*[0-9])(?=.*[a-z])(?=.*[\\W_])|(?=.*[0-9])(?=.*[A-Z])(?=.*[\\W_])|(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W_]))[a-zA-Z0-9\\W_]{8,16}$

-----

另外我在网上看了一下,还有另一种写法:

^(?![A-Za-z]+$)(?![A-Z\d]+$)(?![A-Z\W]+$)(?![a-z\d]+$)(?![a-z\W]+$)(?![\d\W]+$)\S{8,16}$

-----

总结: 这两种方法原理其实是一样的, 第一种情况是匹配所有满足条件的组合, 第二种情况是排除所有不满足条件的组合  //这里的条件指的是字符串必须含有三种以上类型的字符

=====

希望可以帮到题主, 欢迎追问.