السلام عليكم و رحمة الله و بركاته
بعض المواقع تتيح تقوم بقياس مدى قوة كلمة السر لك أثناء التسجيل، مثلا ياهو و فسدوك أقصد فيسبوك :D، الفكرة تعتمد على إستخدام Regular Expression و عند ذلك إعطاء نتيجة.
مرفق مع المثال دالة للتحقق من تطابق حقلين.
<html>
<head>
<script type="text/javascript">
function passValidate(password, repassword, error)
{
PasswordMatch(password, repassword, error);
}
function PasswordStrength(password, attention)
{
var passlen = password.value.length;
var level = new Array();
level[0] = "Very weak";
level[1] = "weak";
level[2] = "Medium";
level[3] = "Strong";
level[4] = "Very strong";
if((document.getElementById("password").value.match(/\d+/)) || (document.getElementById("password").value.match(/[a-zA-Z]+/) && passlen < 9))
attention.innerHTML = level[0];
if(document.getElementById("password").value.match(/[a-zA-Z]+/))
attention.innerHTML = level[1];
if(document.getElementById("password").value.match(/[a-zA-Z]+/) && passlen > 12)
attention.innerHTML = level[2];
if((document.getElementById("password").value.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,),+,[,],|,=,\/,.,;,{,},<,>,\',\",,]+/))
|| (document.getElementById("password").value.match(/[a-zA-Z]+[0-9]+/) && passlen > 9)
|| (document.getElementById("password").value.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,),+,[,],|,=,\/,.,;,{,},<,>,\',\",,]+[0-9]+[a-zA-Z]+/)))
attention.innerHTML = level[3];
if(document.getElementById("password").value.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,),+,[,],|,=,\/,.,;,{,},<,>,\',\",,]+[a-zA-Z]+[0-9]+/) && passlen > 11)
attention.innerHTML = level[4];
}
</script>
<style type="text/css">
</style>
</head>
<body>
<form method="post" name="form1" id="form-password" action="">
<fieldset>
<label>Password:</label>
<input type="password" name="password" id="password" value="" size="32" onkeyup="PasswordStrength(password, attention);passValidate(password, repassword, error)"/><span id="attention"></span><br>
<label>Re-Enter Password:</label>
<input type="password" name="repassword" id="repassword" size="32" onkeyup="passValidate(password, repassword, error)"/><span id="error"></span>
<br>
<input type="submit" value="Submit" id="submit" >
</fieldset>
</form>
</body>
</html>