Javascript字符串字符检查

时间:2013-04-18 11:13:49

标签: javascript

检查javascript字符串长度至少为四个字符,包含至少一个小写字母,一个大写字母和一个数字的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

测试小写字母has already been covered elsewhere

function hasLowerCase(str) {
    return (/[a-z]/.test(str));
}

修改它以实现hasUpperCasehasDigits是微不足道的。

编写完这些功能后,您可以检查:

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'),它返回一个布尔值