gpt4 book ai didi

Javascript 密码验证至少 2 位数字

转载 作者:行者123 更新时间:2023-11-28 19:01:04 24 4
gpt4 key购买 nike

我正在尝试编写一个符合以下条件的 javascript 密码验证:

密码必须:

  • 正好有 8 个字符
  • 包含字母和数字
  • 至少包含两个数字

EG: “helloo15”、“1helloo5”和“h1111111”有效,“helloo1500”、“27272727”和“helloos5”无效。

这是我目前拥有的:

//Password
var pw = document.myForm.password1.value;
var Vpw = /^[a-zA-Z0-9]{8}$/;
if (!Vpw.test(pw)) {
alert("Password must be 8 digits long. It must include a maximum of two numbers.");
return false;
} else {
/* alert("Valid CCV!"); */
}

但我不知道如何将字符串中任何位置的数字限制为至少 2 个。谢谢!

最佳答案

试试这个

    var pass = "some44Passddword";     //document.myForm.password1.value;
var patt = new RegExp("^(?=(.*[a-zA-Z]){1,})(?=(.*[0-9]){2,}).{8}$");

if ( !patt.test(pass) )
{
alert("Password must be 8 digits long. It must include a maximum of two numbers.");
//return false;
}
else
{
alert("Valid!");
}

您可以在这里查看:https://jsfiddle.net/esj9go59/

<小时/>

更新

为了避免使用“$%#^&”等非单词字符,您应该使用

    ^(?!(.*[^a-zA-Z0-9]){1,})(?=(.*[a-zA-Z]){1,})(?=(.*[0-9]){2,}).{8}$

正则表达式。

请注意,由于某种原因,javascript test 函数不将 \W 视为非单词字符,最好使用 [^a-zA -Z0-9] 而不是下面评论中所述的

关于Javascript 密码验证至少 2 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32534109/

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