I would like to receive feedback about my code. Is there any better way to shorten the code or is it fine?
var pass_strength;
function IsEnoughLength(str,length){
if ((str == null) || isNaN(length))
return false;
else if (str.length < length)
return false;
return true;
}
function HasMixedCase(passwd){
if(passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/))
if ( passwd.split(/[a-z]/).length >= 3 && passwd.split(/[A-Z]/).length >= 3)
return true;
else
return false;
else
return false;
}
function HasNumeral(passwd){
if(passwd.match(/[0-9]/))
return true;
else
return false;
}
function HasSpecialChars(passwd){
if(passwd.match(/.[!,@,#,$,%,^,&,*,?,_,~]/))
return true;
else
return false;
}
function CheckPasswordStrength(pwd)
{
if (IsEnoughLength(pwd,14) && HasMixedCase(pwd) && HasNumeral(pwd) && HasSpecialChars(pwd))
pass_strength = "<b><font style='color:olive'>Very strong</font></b>";
else if (IsEnoughLength(pwd,10) && HasMixedCase(pwd) && HasNumeral(pwd) && HasSpecialChars(pwd))
pass_strength = "<b><font style='color:Blue'>Strong</font></b>";
else if (IsEnoughLength(pwd,10) && HasMixedCase(pwd) && HasNumeral(pwd))
pass_strength = "<b><font style='color:Green'>Medium</font></b>";
else
pass_strength = "<b><font style='color:red'>Weak</font></b>";
document.getElementById('pwd_strength').innerHTML = "Password strength: " + pass_strength;
}