使用Javascript验证密码
我正试图用“新密码”解决方案满足客户的要求 我有以下要求:使用Javascript验证密码,javascript,passwords,Javascript,Passwords,我正试图用“新密码”解决方案满足客户的要求 我有以下要求: 1-新密码必须为8-13个字符, 2-密码必须包含数字, 3-密码必须包含大小写, 4-密码不得包含用户名和密码 5-之前不得使用密码 我不是Javascript方面的专家,我一直在尝试将所有这些需求放在一个脚本中,但我不确定如何解决这个需求的第1、4、5部分,所以我希望有人能帮助我做些什么,以实现所有这些需求 另外,我的“弱密码、中等密码、强密码”消息显示在一个名为msg的输入元素的顶部(正如您所知) 这是我的剧本: function
1-新密码必须为8-13个字符,
2-密码必须包含数字,
3-密码必须包含大小写,
4-密码不得包含用户名和密码
5-之前不得使用密码 我不是Javascript方面的专家,我一直在尝试将所有这些需求放在一个脚本中,但我不确定如何解决这个需求的第1、4、5部分,所以我希望有人能帮助我做些什么,以实现所有这些需求 另外,我的“弱密码、中等密码、强密码”消息显示在一个名为msg的输入元素的顶部(正如您所知) 这是我的剧本:
function validatePassword(password) {
// Do not show anything when the length of password is zero.
if (password.length === 0) {
document.getElementById("msg").innerHTML = "";
return;
}
// Create an array and push all possible values that you want in password
var matchedCase = new Array();
matchedCase.push("[$@$!%*#?&]"); // Special Charector
matchedCase.push("[A-Z]"); // Uppercase Alpabates
matchedCase.push("[0-9]"); // Numbers
matchedCase.push("[a-z]"); // Lowercase Alphabates
// Check the conditions
var ctr = 0;
for (var i = 0; i < matchedCase.length; i++) {
if (new RegExp(matchedCase[i]).test(password)) {
ctr++;
}
}
// Display it
var color = "";
var strength = "";
switch (ctr) {
case 0:
case 1:
case 2:
strength = "Contraseña Débil";
color = "red";
break;
case 3:
strength = "Contraseña Regular";
color = "orange";
break;
case 4:
strength = "Contraseña Fuerte";
color = "green";
break;
}
document.getElementById("msg").innerHTML = strength;
document.getElementById("msg").style.color = color;
}
函数验证密码(密码){
//密码长度为零时不显示任何内容。
如果(password.length==0){
document.getElementById(“msg”).innerHTML=“”;
返回;
}
//创建一个数组,并在密码中推送所有可能的值
var matchedCase=新数组();
matchedCase.push(“[$@$!%*#?&]”;//特殊字符
matchedCase.push(“[A-Z]”;//大写字母Alpabates
matchedCase.push(“[0-9]”;//数字
matchedCase.push(“[a-z]”;//小写字母
//检查情况
var-ctr=0;
对于(变量i=0;i
首先,我不建议在客户端验证密码。它很容易被操纵,而且不安全。验证服务器端的密码是一种方法。你说你已经有人在做服务器端的事情了,他们应该在将任何信息(包括密码)放入某种数据库之前验证这些信息
但这并不能回答你的问题:
第5部分不能是客户端。您必须与服务器进行检查以验证旧密码
第1部分很简单,您已经知道如何在代码中找到密码长度
if(password.length >= 8 && password.length <= 13) {
//length is valid
}
首先,我不建议在客户端验证密码。它很容易被操纵,而且不安全。验证服务器端的密码是一种方法。你说你已经有人在做服务器端的事情了,他们应该在将任何信息(包括密码)放入某种数据库之前验证这些信息 但这并不能回答你的问题: 第5部分不能是客户端。您必须与服务器进行检查以验证旧密码 第1部分很简单,您已经知道如何在代码中找到密码长度
if(password.length >= 8 && password.length <= 13) {
//length is valid
}
1.-句柄密码长度(范围为8-13)
我建议,对于最大长度,您对输入使用本机属性maxlength
:
并更新函数,在长度大于8之前不显示任何密码强度:
if (password.length < 8) {
document.getElementById("msg").innerHTML = "";
return;
}
信息取决于你,只是放了些示范性的东西
5.-退出,必须在服务器端处理。
最后,看看最后的代码:
const username=“k3llydev”;
函数validatePassword(密码){
//密码长度为零时不显示任何内容。
如果(密码长度<8){
document.getElementById(“msg”).innerHTML=“”;
返回;
}
if(密码。包括(用户名)){
document.getElementById(“msg”).innerHTML=“La contraseña no debe contenner el nombre de usuario。”;
返回;
}
//创建一个数组,并在密码中推送所有可能的值
var matchedCase=新数组();
matchedCase.push(“[$@$!%*#?&]”;//特殊字符
matchedCase.push(“[A-Z]”;//大写字母Alpabates
matchedCase.push(“[0-9]”;//数字
matchedCase.push(“[a-z]”;//小写字母
//检查情况
var-ctr=0;
对于(变量i=0;i
1.-句柄密码长度(范围为8-13)
我建议,对于最大长度,您对输入使用本机属性maxlength
:
并更新函数,在长度大于8之前不显示任何密码强度:
if (password.length < 8) {
document.getElementById("msg").innerHTML = "";
return;
}
信息取决于你,只是放了些示范性的东西
5.-已退出,必须在服务器端进行处理。
最后,看看最后的代码:
const username=“k3llydev”;
函数validatePassword(密码){
//密码长度为零时不显示任何内容。
如果(密码长度<8){
document.getElementById(“msg”).innerHTML=“”;
返回;
}
if(密码。包括(用户名)){
document.getElementById(“msg”).innerHTML=“La contraseña no debe contenner el nombre de usuario。”;
返回;
}
//创建一个数组