js密码正则表达式:要求包含大小写字母、数字和特殊符号,8~16位

 我来答
刺友互
高粉答主

2019-06-21 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:63.8万
展开全部

1、首先我们在script中编写函数。

2、下图中的代码就是判断手机号码中最重要的代码,我们依次进行解释。

3、js正则表达式test方法的使用,test方法的返回值是布尔值,通过该值可以匹配字符串中是否存在于正则表达式相匹配的结果,如果有匹配内容,返回ture,如果没有匹配内容返回false,该方法常用于判断用户输入数据的合法性。

4、我们写入一个符合要求的手机号码。

5、然后进行测试得到如下图的测试结果"手机号码符合格式要求"。

6、我们写入一个不符合要求的手机号码。

丁巴什罗大神cy
2019-04-03 · TA获得超过1784个赞
知道小有建树答主
回答量:1525
采纳率:86%
帮助的人:622万
展开全部
var v=$("#text").val();
reg=/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$)^.{8,16}$/;
alert(reg.test(v));

上面这个正则表示的是不能为纯数字,不能为纯字母,不能为纯特殊符号,综合起来就是必须为数字 字母 特殊符号中最少两种,如果你要求必须包含三种的话,就接着往上加就行:

(?![0-9]+$) 这句意思是设定后面不能为纯数字
(?![a-z]+$) 这句意思是设定后面不能为纯小写字母
。。。
照着这个格式我们继续写:
(?![0-9a-z]+$) 不能为小写字母与数字
(?![0-9A-Z]+$) 不能为大写字母与数字
(?![0-9a-zA-Z]+$) 不能为大写,小写字母与数字

把这三个也加上去,就只剩一种情况了,就是必须四种都包含

可以看这篇文章,写得很详细,还有在线实例:

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缘Lai如茨
推荐于2017-11-22 · TA获得超过8631个赞
知道大有可为答主
回答量:7534
采纳率:92%
帮助的人:579万
展开全部
function validateInput(obj) {
var str = obj.value;
var regUpper = /[A-Z]/;
var regLower = /[a-z]/;
var regStr = /[^A-Za-z0-9]/;
var complex = 0;
if (regLower.test(str)) {
++complex;
}
if (regUpper.test(str)) {
++complex;
}
if (regStr.test(str)) {
++complex;
}
if (complex < 3 || str.length < 8) {
alert("包含大小写字母,数字,特殊字符,长度至少8位");
} else {
alert("成功");
}
}
//参考,可以分别分解开来匹配,如果输入是小写字符,累计+1,如果输入大写字符+1,如果输//入非大、小写字符以及数字认为是特殊字符+1,只有累计等于3时并且长度大于8才符合要求,否//则验证失败
追问
你的思路很好,为什么不能弄成一个表达式呢
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式