检查javascript字符串长度至少为四个字符,包含至少一个小写字母,一个大写字母和一个数字的最佳方法是什么?
答案 0 :(得分:1)
测试小写字母has already been covered elsewhere:
function hasLowerCase(str) {
return (/[a-z]/.test(str));
}
修改它以实现hasUpperCase
和hasDigits
是微不足道的。
编写完这些功能后,您可以检查:
if( hasLowerCase(passwd) && hasUpperCase(passwd) && hasDigits(passwd) ) {
// Its a valid password!
}
如果您在很多地方使用它,请考虑制作新功能:
function isPasswordValid(str) {
return hasLowerCase(passwd) && hasUpperCase(passwd) && hasDigits(passwd);
}
您可以进一步使用:
if( isPasswordValid("passwd") ) {
// ...
}
答案 1 :(得分:1)
这是一个快速验证功能:
function validate(str) {
return str.length > 3 && /[a-z]/.test(str) && /[A-Z]/.test(str) && /[0-9]/.test(str) ;
}
检查长度,然后运行正则表达式,查找小写,大写和数字(按此顺序)。如果一切都为真(长度> 3 and
小写and
大写and
有一个数字),则返回true
。否则,它返回false
。
像这样使用它:
validate("aaaa") // returns false
validate("aA1") // returns false
validate("aA12") // returns true
答案 2 :(得分:0)
我写了一个函数,就像ColBeseder
一样。添加了一个类型检查string
function check( str ){
return ( typeof str == 'string') &&
( str.length >= 4 ) &&
/[a-z]/.test( str ) &&
/[A-Z]/.test( str ) &&
/[0-9]/.test( str )
}
并将其称为check('AAA1a')
,它返回一个布尔值