در این آموزش قصد داریم به شما نحوه بررسی امنیت رمز عبور با jQuery را نشان بدیم . ما از پترن های regex (آموزش regular Expression) برای اعداد و کاراکتر های خاص به منظور نمایش میزان قدرت پسورد استفاده می کنیم.
مقدار پسورد با این الگو بررسی می شود. سپس, میزان امنیت و قدرت کلمه عبور بر اساس نوع کاراکتر های سنجیده می شود.
فرم بررسی امنیت رمز عبور
فرم رابط کاربری زیر برای وارد کردن پسورد از سمت کاربر استفاده شده است .
1 2 3 4 |
<div name="frmCheckPassword" id="frmCheckPassword"> <label>Check Username:</label> <input type="password" name="password" id="password" class="demoInputBox" onKeyUp="checkPasswordStrength();" /><div id="password-strength-status"></div> </div> |
تابع جی کوئری برای بررسی امنیت رمز عبور
این تابع بر اساس رویدارد key-up فیلد پسورد فراخوانی خواهد شد. تابع jQuery زیر طول کلمه عبور را بررسی می کند. اگر کمتر از ۶ کاراکتر بود , پس به عنوان پسورد ضعیف شناخته خواهد شد . اگر نه که با الگوهای regex بررسی می شود. اگر رمزعبور شامل حداقل یک حروف الفبای لاتین , شماره و یک کاراکتر خاص بود , به عنوان پسورد قوی در نظر گرفته می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function checkPasswordStrength() { var number = /([0-9])/; var alphabets = /([a-zA-Z])/; var special_characters = /([~,!,@,#,$,%,^,&,*,-,_,+,=,?,>,<])/; if($('#password').val().length<6) { $('#password-strength-status').removeClass(); $('#password-strength-status').addClass('weak-password'); $('#password-strength-status').html("Weak (should be atleast 6 characters.)"); } else { if($('#password').val().match(number) && $('#password').val().match(alphabets) && $('#password').val().match(special_characters)) { $('#password-strength-status').removeClass(); $('#password-strength-status').addClass('strong-password'); $('#password-strength-status').html("Strong"); } else { $('#password-strength-status').removeClass(); $('#password-strength-status').addClass('medium-password'); $('#password-strength-status').html("Medium (should include alphabets, numbers and special characters.)"); }}} |
برای دانلود سورس کد کامل این آموزش از باکس دانلود استفاده کنید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید.