PDA

View Full Version : Regular Expression برای رمز عبور



ramin149
جمعه 19 خرداد 1391, 11:53 صبح
با سلام
من یک Regular Expression می خوام که حداقل 6 کاراکتر به بالا رو قبول کنه ؟

hhsaffar
جمعه 19 خرداد 1391, 13:15 عصر
این عبارت یه رشته از حروف و اعداد با طول حداقل 6 رو میپذیره

[a-zA-Z0-9]{6,}

اگر کلا میخواین هر رشته‌ای بدون اسپیس با طول 6 و بیشتر باشه از این استفاده کنین:

[\S]{6,}

اگر میخواین هر رشته‌ای حتی شامل (اسپیس) با طول حداقل 6 باشه از این استفاده کنین:

.{6,}

اینجا میتونید مثالهای خوبی از عبارات باقاعده پیدا کنید: http://www.regular-expressions.info/
و اینجا هم میتونید عبارات باقاعده‌ای رو که مینویسید تست کنید: http://www.regexpal.com/

m.akar
جمعه 19 خرداد 1391, 15:04 عصر
اگر شما برای بررسی پسورد نیاز به این Regular Expression دارید، وب سایت چاپار برای بررسی پسوردهای وارد شده در هنگام ثبت نام یک تابع دارد که این تابع ضریب امنیت پسورد وارد شده را بررسی می کند

تابع به این صورت است:

<script type="text/javascript">
var pat=Array();
pat[0]=/[.,;:!?\(\)\[\]\{\}]/;
pat[1]=/[<>/\\|`~\'\"@#$%^&*\-=_+]/;
pat[2]=/[^a-zA-Z0-9.,;:!?\(\)\[\]\{\}<>/\\|`~\'\"@#$%^&*\-=_+]/;
pat[3]=/[a-z]/;
pat[4]=/[A-Z]/;
pat[5]=/[0-9]/;
pat[6]=/[a-z]+[^a-z]+[a-z]+/;
pat[7]=/[A-Z]+[^A-Z]+[A-Z]+/;
pat[8]=/[0-9]+[^0-9]+[0-9]+/;

function rate(p) {
var t, c;
if (p <= 10) {
t = 'پذیرفته نیست!';
c = 'black';
} else if (p <= 30) {
t = 'ضعیف';
c = '#ff4000';
} else if (p <= 50) {
t = 'نامطمئن';
c = '#ff8000';
} else if (p <= 70) {
t = 'بد نیست!';
c = '#c0c000';
} else if (p <= 90) {
t = 'خوب';
c = '#80ff00';
} else {
t = 'عالی';
c = '#4080ff';
}
var pmt = document.getElementById('ZsignUpPasswordMeterTitle ');
pmt.innerHTML = t;
var pmb = document.getElementById('ZsignUpPasswordMeterBar') ;
pmb.style.backgroundColor = c;
pmb.style.width = p;
}

function changed() {
var psswrd=document.getElementById('password').value;
var r=10;
if (psswrd.length >= 6) {
for (var i=0; i<9; i++)
if (psswrd.match(pat[i]))
r+=15-5*Math.floor(i/3);
}
rate(r);
}
</script>

سپس در رویداد onkeyup دریافت کننده پسورد خود تابع changed رو فراخوانی می کند:

<td valign="top">

<div>
<input id="password" autocomplete="off" class="ZsignUpSmallField" name="signUpPassword" type="password" onkeyup="changed()">
</div>
<div class="err">
حداقل 6 حرف
</div>
</td>
<td valign="top" align="center">
<div id="ZsignUpPasswordMeterTitle" style="line-height:20px;"></div>
<div id="ZsignUpPasswordMeter" style="background-color:#eeeeee;height:5px;overflow:hidden;width:100 px;">
<div id="ZsignUpPasswordMeterBar" style="background-color:white;height:100%;width:100px;">
</div>
</div>
</td>