Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
我想对密码执行JavaScript验证。
它必须满足以下条件:
至少6个字符长
至少1个大写字母
至少1个小写字母
至少1个号码
至少1个标点符号
Working example
通过将regex数组作为参数传递,可以使其更加灵活。
More reading about regex.test() here
这是更具可读性的学术版:
这是working example。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
我想对密码执行JavaScript验证。
它必须满足以下条件:
至少6个字符长
至少1个大写字母
至少1个小写字母
至少1个号码
至少1个标点符号
最佳答案
这是使用正则表达式数组实现此目的的一种方法:
/**
* Returns true if pw is a valid password.
*/
function isValid(pw) {
if (! pw) {
return false;
}
var rgx = [
/.{6,}/,
/[A-Z]/,
/[a-z]/,
/[0-9]/,
/[@#$&*^%!+=\/\\[\]|?.,<>)(;:'"~`]/
];
for (var i = 0; i < rgx.length; i++) {
if (rgx[i].test(pw) === false) {
return false;
}
}
return true;
}
Working example
通过将regex数组作为参数传递,可以使其更加灵活。
More reading about regex.test() here
这是更具可读性的学术版:
function isValid(s) {
// check for null or too short
if (!s || s.length < 6) {
return false;
}
// check for a number
if (/[0-9]/.test(s) === false) {
return false;
}
// check for a capital letter
if (/[A-Z]/.test(s) === false) {
return false;
}
// check for a lowercase letter
if (/[a-z]/.test(s) === false) {
return false;
}
// check for punctuation mark
if (/[@#$&*^%!+=\/\\[\]|?.,<>)(;:'"~`]/.test(s) === false) {
return false;
}
// all requirements have been satisfied
return true;
}
这是working example。
关于javascript - 密码验证至少为6个字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18367258/
10-09 22:30