展开全部
一句正则就行了:
var v=$("#text").val();
reg=/^(?=.*[a-zA-Z])(?=.*[1-9])(?=.*[\W]).{6,}$/;
alert(reg.test(v));
(?=.*[a-zA-Z]) 表示后面至少有一个小写字母或大写字母
(?=.*[1-9]) 表示后面要有一位数字
(?=.*[\W]) 表示后面要有一位特殊符号
三者加起来,正好是你需要的!
参考这里,有详细的解释说明及在线实例演示,绝对能帮助到你,及其它需要的朋友们:
展开全部
你的这种需求要用一个正则来解决?我还是第一次遇到.在我目前的技术来看,没人能做到一个正则来解决你的问题.但我可以用别的方法来解决.还有,你用的是什么语言?你的特殊符号指的是哪些?
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;
}
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][?!%&]
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
想了想这个正则还真不好写,道行有点浅。如果你找不到这样的正则,我建议换个思路实现这个验证,把密码字符串转换为char数组,然后遍历数组通过判断ASCII码值来判断是否符合你的要求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你直接用正则判断不能是汉字不就行啦,我给你个判断汉字的例子
if(lx.match(/[^\u4e00-\u9fa5]/g)) 这个是判断是汉字的时候,你在变量lx前面加个!就可以啦。
这样就可以了,祝你好运!
if(lx.match(/[^\u4e00-\u9fa5]/g)) 这个是判断是汉字的时候,你在变量lx前面加个!就可以啦。
这样就可以了,祝你好运!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询