Bud*_*wan 25 javascript regex asp.net
我需要一个带条件的正则表达式:
目前我有模式: (?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,50})$
但是它不允许特殊字符,是否有人有一个很好的正则表达式呢?
谢谢
jfr*_*d00 61
也许可以使用单个正则表达式,但这使得很难向用户反馈他们没有遵循的规则.像这样的更传统的方法为您提供反馈,您可以在UI中使用它来告诉用户未满足的pwd规则:
function checkPwd(str) {
if (str.length < 6) {
return("too_short");
} else if (str.length > 50) {
return("too_long");
} else if (str.search(/\d/) == -1) {
return("no_num");
} else if (str.search(/[a-zA-Z]/) == -1) {
return("no_letter");
} else if (str.search(/[^a-zA-Z0-9\!\@\#\$\%\^\&\*\(\)\_\+]/) != -1) {
return("bad_char");
}
return("ok");
}
Run Code Online (Sandbox Code Playgroud)
Hug*_*ugo 16
在jfriend00回答之后,我写了这个小提琴来测试他的解决方案,并进行一些小改动,使其更具视觉效果:
这是代码:
checkPwd = function() {
var str = document.getElementById('pass').value;
if (str.length < 6) {
alert("too_short");
return("too_short");
} else if (str.length > 50) {
alert("too_long");
return("too_long");
} else if (str.search(/\d/) == -1) {
alert("no_num");
return("no_num");
} else if (str.search(/[a-zA-Z]/) == -1) {
alert("no_letter");
return("no_letter");
} else if (str.search(/[^a-zA-Z0-9\!\@\#\$\%\^\&\*\(\)\_\+\.\,\;\:]/) != -1) {
alert("bad_char");
return("bad_char");
}
alert("oukey!!");
return("ok");
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,它的工作就像一个魅力!;)
最好的问候和感谢jfriend00当然!
检查密码是否在 7 至 16 个字符之间,仅包含字符、数字、下划线且第一个字符必须是字母 -
/^[A-Za-z]\w{7,14}$/
检查密码长度为 6 至 20 个字符,其中至少包含 1 个数字、1 个大写字母和 1 个小写字母
/^(?=.\d)(?=.[az])(?=.*[AZ]).{6,20}$/
检查 7 至 15 个字符之间的密码,其中至少包含一位数字和特殊字符
/^(?=.[0-9])(?=.[!@#$%^& ] )[a-zA- Z0-9 !@#$%^& ]{7,15}$/
检查密码长度为 8 至 15 个字符,其中至少包含 1 个小写字母、1 个大写字母、1 个数字和 1 个特殊字符
/^(?=. \d)(?=. [az])(?=. [AZ])(?=. [^a-zA-Z0-9])(?!.*\s).{ 8,15}$/
| 归档时间: |
|
| 查看次数: |
62139 次 |
| 最近记录: |