密码必须同时包含大写字母、小写字母、数字、特殊符号等四项中的至少三项正则表达式

不要网上的复制,我都试过了,不行!

一句正则就行了:

var v=$("#text").val();
reg=/^(?=.*[a-zA-Z])(?=.*[1-9])(?=.*[\W]).{6,}$/;
alert(reg.test(v));

(?=.*[a-zA-Z])  表示后面至少有一个小写字母或大写字母

(?=.*[1-9]) 表示后面要有一位数字

(?=.*[\W]) 表示后面要有一位特殊符号

三者加起来,正好是你需要的!

参考这里,有详细的解释说明及在线实例演示,绝对能帮助到你,及其它需要的朋友们:

jquery里用正则来验证密码,必须包含大小写字母,数字及特殊符号,或最少包含两种

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
你的这种需求要用一个正则来解决?我还是第一次遇到.在我目前的技术来看,没人能做到一个正则来解决你的问题.但我可以用别的方法来解决.还有,你用的是什么语言?你的特殊符号指的是哪些?

JAVA:
public boolean checkInput(String str){
int num=0;
num = Pattern.compile("\\d").matcher(str).find()?num+1:num;
num = Pattern.compile("[a-z]").matcher(str).find()?num+1:num;
num = Pattern.compile("[A-Z]").matcher(str).find()?num+1:num;
num = Pattern.compile("[-.!@#$%^&*()+?><]").matcher(str).find()?num+1:num;
return num >=3;
}追问

我自己做到了,嘿嘿!!!以后不要那么绝对~

追答

收回我说的话.我说错了.
你要用一个正则来解决,估计是把四种条件进行组合排列再用或关系吧.
对于我说的话是绝对了,我的原意是想表达,想要用正则来判断几种条件的必要情况组合是非常不合适的,你这只是四种条件,如果条件多了,不仅表达式难看,效率也是问题.

以不同情况组合的方法是我一向不怎么喜欢的方法.估计你的方法和下面的差不多了,先分析有多少种情况,再列出,再组合,再优化代码.
[a-z][A-Z][0-9]|[a-z][A-Z][?!%&]|[a-z][0-9][?!%&]|[A-Z][0-9][?!%&]

本回答被网友采纳
第2个回答  2011-11-15
想了想这个正则还真不好写,道行有点浅。如果你找不到这样的正则,我建议换个思路实现这个验证,把密码字符串转换为char数组,然后遍历数组通过判断ASCII码值来判断是否符合你的要求。
第3个回答  2015-11-14
var reg = /^(?!([a-zA-Z]+|[a-z\d]+|[a-z~`@#\$%\^&\*\(\)_\-\+=\{\[\}\]\|\\:;\"\'<,>\.\?\/\!]+|[A-Z\d]+|[A-Z~`@#\$%\^&\*\(\)_\-\+=\{\[\}\]\|\\:;\"\'<,>\.\?\/\!]+|[\d~`@#\$%\^&\*\(\)_\-\+=\{\[\}\]\|\\:;\"\'<,>\.\?\/\!]+)$)[a-zA-Z\d~`@#\$%\^&\*\(\)_\-\+=\{\[\}\]\|\\:;\"\'<,>\.\?\/\!]+$/;
var str = "3D2";
console.log(reg.test(str));

第4个回答  2011-11-15
你直接用正则判断不能是汉字不就行啦,我给你个判断汉字的例子
if(lx.match(/[^\u4e00-\u9fa5]/g)) 这个是判断是汉字的时候,你在变量lx前面加个!就可以啦。
这样就可以了,祝你好运!

...数字、特殊符号等四项中的至少三项正则表达式
一句正则就行了:var v=$("#text").val();reg=\/^(?=.*[a-zA-Z])(?=.*[1-9])(?=.*[\\W]).{6,}$\/;alert(reg.test(v));(?=.*[a-zA-Z]) 表示后面至少有一个小写字母或大写字母 (?=.*[1-9]) 表示后面要有一位数字 (?=.*[\\W]) 表示后面要有一位特殊符号 三者...

密码正则表达式
一、需求:密码必须是包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合 二、方案:利用正则表达式来校验 三、思路:排除法 1、排除大写字母、小写字母、数字、特殊符号中1种组合、2种组合、3种组合,那么就只剩下4种都包含的组合了 2、表达式为: ^(?![...

密码正则表达式
结论:密码验证中,我们需要确保密码至少包含大写字母、小写字母、数字和特殊符号,且长度不少于8位。正则表达式是一个有效的解决方案。具体来说,我们可以使用以下表达式进行校验:^ (?![A-Za-z0-9]+$) (?![a-z0-9\\\\W]+$) (?![A-Za-z\\\\W]+$) (?![A-Z0-9\\\\W]+$) ...

C#编写一正则表达式,用户密码只能输入:1、数字;2、小写字母;3、大写...
^(?![0-9a-z]+$)(?![0-9A-Z]+$)(?![0-9\\W]+$)(?![a-z\\W]+$)(?![a-zA-Z]+$)(?![A-Z\\W]+$)[a-zA-Z0-9\\W_]+

正则表达式:密码中必须包含大写、小写、数字、字符并且都要满足。_百...
这个问题真不建议用一个正则表达式来做,可以用4个正则分别匹配,然后用与操作,非要用正则的话,可以考虑在条件分支里面用零宽度断言,但是这个效率和匹配4个正则表达式是一样的

...密码要求:内含数字、大小写字母以及特殊字符中至少三种,长度8-16...
正则及测试截图如下:文字版:^(?=(?=.*[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-...

...至少包括数字,小写字母,大写字母,标点符号中的三种
可以用正则表达式。但是一次性匹配很麻烦。可以这样 var numflag = \\d+ ;\/\/至少有一个数字 var charflag = [a-z]+ ;\/\/至少有一个小写字母 var charFlag = [A-Z]+;var labelflag = [\\,\\.\\*\\(你想要的标点];如果全部都加上的话 感觉没什么必要了(而且不安全)var flag = 0 ;\/\/...

怎么用正则表达式验证密码是否正确呢?
为实现密码长度为8~20个字符,且需同时包含数字、大写字母和小写字母的要求,可以使用正则表达式进行验证。下面是一个简单的正则表达式示例:^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,20} 解释:^:匹配字符串的开始位置 (?=.*[0-9]):正向预查,表示字符串中必须包含至少一个数字...

要求密码长度为8~20个字符,需同时包含数字、大写字母和小写字母。怎...
要求密码长度为8~20个字符,同时包含数字、大写字母、小写字母和至少三种特殊符号,你可以使用正则表达式来进行密码的验证和生成。下面是一个示例的正则表达式和相关代码:使用上述代码,你可以调用ValidatePassword函数来验证一个密码是否符合要求。如果返回True,则表示密码符合要求;如果返回False,则表示密码不...

秘密必须8—16位字符,包含大写字母,小写母,数字和特殊字母符中的三种...
appleID一般为你的常用邮箱账号,而密码设置时必须至少8个字符,且密码第一位必须为大写字母,密码组成必须至少有一个大写字母、小写字母和数字。

相似回答