我正在验证表单,并且想在密码无效时显示一条消息,仅当密码不为空时才使用正则表达式进行验证,但我无法验证密码是否为空。 这是我引用的代码段。
const regexPasswd: RegExp = /((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\W]).{8,64})/;
const inputPasswd = $(form).find("[name='passwd']");
const passwd;
let allOK = true;
if (inputPasswd.val() !== undefined || inputPasswd.val() !== "" || inputPasswd.val() !== null) {
if (this.regexPasswd.test(<string>inputPasswd.val())) passwd = inputPasswd.val();
else {
message += "Invalid Password<br>";
allOK = false;
}
}
我已经尝试了我所知道的所有三种方法来验证空输入,但仍然不起作用。 预先感谢您的帮助。
最佳答案
在条件中使用 &&
(逻辑 AND)而不是 ||
(逻辑 OR)并缓存值:
let val = $.trim(inputPasswd.val());
if (val !== undefined && val !== "" && val !== null) {...}
关于javascript - 无法验证密码是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56460042/