^(?=[\w\-%&?#=]+\d)(?=[\w\-%&?#=]+[a-zA-Z])[\w\-%&?#=]{8,12}$
Должен соответствовать приведенным ниже условиям при проверке нового пароля на основе JavaScript,
- Должно содержать от 8 до 20 символов, обязательно включая одну букву и цифру
- Может содержать только один из следующих специальных символов:%, &, _,?, #, =, -
- Не может быть пробелов
С приведенным выше регулярным выражением, goog123#
было сопоставлено в FF3.5. Однако это не удается в IE6. Кто-нибудь знает, что здесь пошло не так? Это проблема совместимости?
JavaScript используется для проверки соответствия
function fnIsPassword(strInput)
{
alert("strInput : " + strInput);
var regExp =/^(?=.{0,19}\d)(?=.{0,19}[a-zA-Z])[\w%&?#=-]{8,20}$/;
if(strInput.length > 0){
return (regExp.test(strInput));
}
return false;
}
alert(fnIsPassword("1231231")); //false
alert(fnIsPassword("sdfa4gggggg")); //FF: true, false in IE
alert(fnIsPassword("goog1234#")); //FF: true , false in IE