/** * 正則驗證密碼 大小寫字母必須包含一位,其它任意 * @author bug<375023402@qq.com> * @dateTime 2019-05-22T10:47:21+0800 * @param string obj 驗證對象 * @return boolean */ function checkpwdstrong( obj ){ var pwd = obj.val(); //判斷密碼是否小於8位 if(pwd.length<8){ return false; } var reg = [/^(?=.*\d)/,/^(?=.*[a-z])/,/^(?=.*[A-Z])/]; var validate_arr = [];//大小寫字符 數字分類統計 var validate_type = 0;//類別包含統計 var validate_count = 0;//匹配總計 for (var i = 0; i < reg.length; i++) { validate_arr[i] = 0; for (var j = 0; j< pwd.length; j++) { if(reg[i].test(pwd[j])){ validate_arr[i]++; } } if(validate_arr[i]>0){ validate_type++; } validate_count += validate_arr[i]; } if(validate_type == reg.length || (validate_type == 2 && validate_count<pwd.length)){ return true; } return false; }