gpt4 book ai didi

javascript - 如何在javascript中验证数字和大写字母

转载 作者:数据小太阳 更新时间:2023-10-29 06:12:55 26 4
gpt4 key购买 nike

我要验证密码:

  • 至少包含 1 个数字
  • 包含至少 1 个大写字母(大写)
  • 至少包含1个普通字母(小写)

我用过这段代码

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) });

文档:test , every

关于javascript - 如何在javascript中验证数字和大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10186297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com