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

不要网上的复制,我都试过了,不行!... 不要网上的复制,我都试过了,不行! 展开
 我来答
丁巴什罗大神cy
2019-04-03 · TA获得超过1784个赞
知道小有建树答主
回答量:1525
采纳率:86%
帮助的人:634万
展开全部

一句正则就行了:

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

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

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

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

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

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

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

百度网友b4855c5
推荐于2017-11-26 · TA获得超过1071个赞
知道小有建树答主
回答量:823
采纳率:0%
帮助的人:954万
展开全部
你的这种需求要用一个正则来解决?我还是第一次遇到.在我目前的技术来看,没人能做到一个正则来解决你的问题.但我可以用别的方法来解决.还有,你用的是什么语言?你的特殊符号指的是哪些?

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][?!%&]
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fcgk_bd
2011-11-15 · TA获得超过232个赞
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:146万
展开全部
想了想这个正则还真不好写,道行有点浅。如果你找不到这样的正则,我建议换个思路实现这个验证,把密码字符串转换为char数组,然后遍历数组通过判断ASCII码值来判断是否符合你的要求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2015-11-14 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
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));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yjg99365
2011-11-15 · 超过25用户采纳过TA的回答
知道答主
回答量:152
采纳率:0%
帮助的人:74.2万
展开全部
你直接用正则判断不能是汉字不就行啦,我给你个判断汉字的例子
if(lx.match(/[^\u4e00-\u9fa5]/g)) 这个是判断是汉字的时候,你在变量lx前面加个!就可以啦。
这样就可以了,祝你好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式