2013-05-30 3 views
0

У меня есть 2 поля пароля с паролем и подтвердите пароль. Мне удалось проверить его, чтобы убедиться, что пароли должны совпадать. Тем не менее, я не знаю, как добавить регулярные выражения в поле пароля, чтобы он имел длину 6 символов, содержащий как минимум прописные и числовые.Пароль Проверка регулярного выражения?

Это Javascript я получил до сих пор

<script type="text/javascript" language="javascript"> 

function validatepw() { 
    if (document.register.user_password.value != document.register.user_password_confirm.value) 
    { 
    alert('Passwords did not match!'); 
     return false; 
     }else{ 
     document.register.submit(); 
     return true; 
    } 
    } 
</script> 

и это моя форма

<form name="register" action="signup.php" onsubmit="return validate_reg()" 
enctype="multipart/form-data" method="post" > 

<table width="600" border="0"> 
<tr><td width="210" height="45">Username*:</td><td> 
<input type="text" size="40" name="userUsername" id="user_username" /></td></tr> 
<tr><td width="210" height="45">Password*:</td><td> 
<input type="password" size="40" name="userPassword" id="user_password"/></td></tr> 
    <tr><td width="210" height="45">Re-type Password:</td><td> 
<input type="password" size="40" name="userPasswordConfirm" 
id="user_password_confirm" onchange="javascript:validatepw()"/></td></tr> 
</table> 
<center><input type="submit" class="button" name="submit" value="register"></center>  
</form> 

Может кто-нибудь показать, как применить регулярное выражение из 6 символов, заглавная и числа в поле пароля. Я много искал и не мог найти ничего, что работает с тем, что я уже получил.

+0

http://regexlib.com/ Библиотека регулярных выражений, может быть, вы можете найти здесь – Drahcir

+0

Возможно, это плохая идея отправить форму из события «change» в одном поле. Также нет необходимости использовать 'javascript:' для атрибутов обработчика событий. (И встроенные обработчики событий тоже немного уродливы.) – millimoose

+0

Связанный совет: неверно использовать правила проверки пароля, не сообщая пользователям заранее, что эти правила, на простом английском языке, прежде чем они набирают что-либо. –

ответ

7

Нет необходимости пытаться сжать все это в одно регулярное выражение.

password.match(/[A-Z]/) && password.match(/[0-9]/) && (password.length >= 6) 
+0

Что является самым простым способом сжать это на мой javascript? – munue

+0

Что случилось с одним RegExp? {6}/' –

+4

@RobW Жгучая боль глаз? То, что в несколько раз сложнее сказать, что он делает? – millimoose

2

Вы, конечно, можете использовать один регулярное выражение для этого, если вы хотите:

var isValid = /(?=.*\d)(?=.*[A-Z]).{6,}/.test(password) 

(Lookahead, по крайней мере, одну цифру, предпросмотр, по крайней мере, одну букву, то матч ничего, 6 или больше раз)

Смежные вопросы