also this...
function checkPWRemind(passValue,userName,currentPwd) {
var ret = false;
if(checkPWStrength(passValue,userName,currentPwd) == MACRO_PASSWORD_LOW) {
getAjaxData('api/user/remind', function($xml) {
var res = xml2object($xml);
g_show_password_remind = parseInt(res.response.checkpassword, 10);
if ('response' == res.type && "0" == res.response.remindstate) {
ret = true;
}
}, {
sync: true
});
}
return ret;
}
function setPWRemindStatus(setStatus) {
var submitData = {
remindstate:setStatus
};
var res = object2xml('request', submitData);
saveAjaxData('api/user/remind', res, function($xml) {
}, {
sync: true
});
}
function checkPWStrength(passValue,userName,currentPwd) {
var nameSame = false;
var pwdSame = false;
if(userName != "" && (userName != null)) {
if(userName == passValue || userName.split("").reverse().join("") == passValue) {
nameSame = true;
}
}
if(currentPwd != "" && (currentPwd != null)) {
if(currentPwd == passValue) {
pwdSame = true;
}
}
var repeat_pass = 0;
var tempArray = passValue.split("");
var n = 0
for (var i = 0; i < tempArray.length; i++) {
var sliceArray = [];
if (tempArray != tempArray[i + 1]) {
sliceArray = tempArray.slice(n, i + 1);
if(sliceArray.length > 1) {
repeat_pass += sliceArray.length;
}
n = i + 1;
}
}
function charMode(iN) {
if (iN>=48 && iN <=57) {
return 1;
} else if (iN>=65 && iN <=90) {
return 2;
} else if (iN>=97 && iN <=122) {
return 4;
} else {
return 8;
}
}
function bitTotal(num) {
var modes=0;
var i = 0;
for (i=0;i<4;i++) {
if (num & 1) {
modes++;
}
num>>>=1;
}
return modes;
}
var ret = 0;
var sPWLength = passValue.length;
var sPWModes = 0;
var i= 0;
for (i= 0; i < sPWLength; i++) {
sPWModes|=charMode(passValue.charCodeAt(i));
}
sPWModes = bitTotal(sPWModes);
if(sPWLength < 6 || sPWModes == 1 || nameSame == true || pwdSame == true) {
ret = MACRO_PASSWORD_LOW;
} else if((sPWModes == 2 && (sPWLength >= 6) && (sPWLength <= 10))) {
if(parseFloat((repeat_pass/parseInt(sPWLength,10)).toString()) > 0.667) {
ret = MACRO_PASSWORD_LOW;
} else {
ret = MACRO_PASSWORD_MID;
}
} else if((sPWModes >= 3 && (sPWLength >= 6)) || (sPWModes == 2 && (sPWLength > 10))) {
if(parseFloat((repeat_pass/parseInt(sPWLength,10)).toString()) > 0.334 && (parseFloat((repeat_pass/parseInt(sPWLength,10)).toString()) <= 0.667)) {
ret = MACRO_PASSWORD_MID;
} else if(parseFloat((repeat_pass/parseInt(sPWLength,10)).toString()) > 0.667) {
ret = MACRO_PASSWORD_LOW;
} else {
ret = MACRO_PASSWORD_HIG;
}
} else {
ret = MACRO_PASSWORD_LOW;
}
function checkPWRemind(passValue,userName,currentPwd) {
var ret = false;
if(checkPWStrength(passValue,userName,currentPwd) == MACRO_PASSWORD_LOW) {
getAjaxData('api/user/remind', function($xml) {
var res = xml2object($xml);
g_show_password_remind = parseInt(res.response.checkpassword, 10);
if ('response' == res.type && "0" == res.response.remindstate) {
ret = true;
}
}, {
sync: true
});
}
return ret;
}
function setPWRemindStatus(setStatus) {
var submitData = {
remindstate:setStatus
};
var res = object2xml('request', submitData);
saveAjaxData('api/user/remind', res, function($xml) {
}, {
sync: true
});
}
function checkPWStrength(passValue,userName,currentPwd) {
var nameSame = false;
var pwdSame = false;
if(userName != "" && (userName != null)) {
if(userName == passValue || userName.split("").reverse().join("") == passValue) {
nameSame = true;
}
}
if(currentPwd != "" && (currentPwd != null)) {
if(currentPwd == passValue) {
pwdSame = true;
}
}
var repeat_pass = 0;
var tempArray = passValue.split("");
var n = 0
for (var i = 0; i < tempArray.length; i++) {
var sliceArray = [];
if (tempArray != tempArray[i + 1]) {
sliceArray = tempArray.slice(n, i + 1);
if(sliceArray.length > 1) {
repeat_pass += sliceArray.length;
}
n = i + 1;
}
}
function charMode(iN) {
if (iN>=48 && iN <=57) {
return 1;
} else if (iN>=65 && iN <=90) {
return 2;
} else if (iN>=97 && iN <=122) {
return 4;
} else {
return 8;
}
}
function bitTotal(num) {
var modes=0;
var i = 0;
for (i=0;i<4;i++) {
if (num & 1) {
modes++;
}
num>>>=1;
}
return modes;
}
var ret = 0;
var sPWLength = passValue.length;
var sPWModes = 0;
var i= 0;
for (i= 0; i < sPWLength; i++) {
sPWModes|=charMode(passValue.charCodeAt(i));
}
sPWModes = bitTotal(sPWModes);
if(sPWLength < 6 || sPWModes == 1 || nameSame == true || pwdSame == true) {
ret = MACRO_PASSWORD_LOW;
} else if((sPWModes == 2 && (sPWLength >= 6) && (sPWLength <= 10))) {
if(parseFloat((repeat_pass/parseInt(sPWLength,10)).toString()) > 0.667) {
ret = MACRO_PASSWORD_LOW;
} else {
ret = MACRO_PASSWORD_MID;
}
} else if((sPWModes >= 3 && (sPWLength >= 6)) || (sPWModes == 2 && (sPWLength > 10))) {
if(parseFloat((repeat_pass/parseInt(sPWLength,10)).toString()) > 0.334 && (parseFloat((repeat_pass/parseInt(sPWLength,10)).toString()) <= 0.667)) {
ret = MACRO_PASSWORD_MID;
} else if(parseFloat((repeat_pass/parseInt(sPWLength,10)).toString()) > 0.667) {
ret = MACRO_PASSWORD_LOW;
} else {
ret = MACRO_PASSWORD_HIG;
}
} else {
ret = MACRO_PASSWORD_LOW;
}