javascript:验证大写和小写

Mo.*_*Mo. 1 javascript validation

检查案例时是否有任何选项可以验证最小2小写2大写?这是我正在使用的条件.

function HasMixedCase(passwd){
    if(passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/))
        return true;
    else
        return false;
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/Ku4mg/

Nie*_*sol 7

编辑参与plalx的评论:

var m;
if( !(m = passwd.match(/[a-z]/g)) || m.length < 2) return false;
if( !(m = passwd.match(/[A-Z]/g)) || m.length < 2) return false;
return true;
Run Code Online (Sandbox Code Playgroud)

试图在一个正则表达式中做太多事情是灾难的一个方法,最常见的结果是灾难性的回溯.

同样,它使您的代码更可读,一次做一件事.

  • 当没有匹配时,不要忘记`match`返回`null`. (2认同)