作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我要验证密码:
我用过这段代码
function validate()
{
var a=document.getElementById("pass").value
var b=0
var c=0
var d=0;
for(i=0;i<a.length;i++)
{
if(a[i]==a[i].toUpperCase())
b++;
if(a[i]==a[i].toLowerCase())
c++;
if(!isNaN(a[i]))
d++;
}
if(a=="")
{
alert("Password must be filled")
}
else if(a)
{
alert("Total capital letter "+b)
alert("Total normal letter "+c)
alert("Total number"+d)
}
}
让我感到困惑的一件事是,为什么如果我输入一个数字,它也算作大写字母???
最佳答案
正则表达式更适合这个。考虑:
var containsDigits = /[0-9]/.test(password)
var containsUpper = /[A-Z]/.test(password)
var containsLower = /[a-z]/.test(password)
if (containsDigits && containsUpper && containsLower)
....ok
一个更紧凑但不太兼容的选项是在正则表达式数组上使用 bool 聚合:
var rules = [/[0-9]/, /[A-Z]/, /[a-z]/]
var passwordOk = rules.every(function(r) { return r.test(password) });
关于javascript - 如何在javascript中验证数字和大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10186297/
我是一名优秀的程序员,十分优秀!