更改密码文本框更改的标签文本



每次更改密码文本时,我都会尝试更改标签的颜色,以检查是否满足密码的所有参数(即大写字母、数字、符号等(。

我在让事件侦听器识别onChange或onKeyUp事件并运行我为其定义的代码时遇到问题。以下是我迄今为止尝试过的:

document.querySelector("password").AddEventListener("Change", function() {
if (checkpw(document.querySelector("password").value)) == True) {
document.querySelector("pw").style.color = "#00ff00"
}else{
document.querySelector("pw").style.color = "#ff0000"
}
}
})

带有

<label for="password" id="pw">Password:</label> <input type="password" name="password" id="password"><br>

function checkpw(what) {
let sm = 0;
let lg = 0;
let num = 0;
let sym = 0;
for (let i = 0; i < what.len(); i++) {
wstr = what.toString();
vchr = wstr.charCodeAt(i);
if (vchr > 40 && vchr < 127) {
if (vchr > 47 && vchr < 58) {
num = 1;
}else if (vchr > 64 && vchr < 91) {
lg = 1;
}else if (vchr > 96 && vchr < 123) {
sm = 1;
}else{
sym = 1;
}
}
}
if (sm && lg && num && sym) {
return true;
}else{
return false;
}}

我在事件监听器上尝试了几种变体,比如getElementById("pw"(。onChange=function((,onKeyUp,onKeyDown,";KeyUp"KeyDown";。我放了一个警报,只是想看看它是否会在文本更改时提醒我,而我没有收到警报,所以我知道这是我在事件侦听器或查询选择器中的语法。如果有人知道我在做什么,请告诉我。提前感谢

它将在输入字段中的每个输入上激发事件,而不是尝试使用'change'

field.addEventListener('input', () => {
//do something
})

最新更新