2016-05-24 3 views
0

Я пытаюсь проверить, содержит ли пароль ввода не менее 8 символов и хотя бы одну цифру и хотя бы одну букву. Я думаю, что моя проблема заключается в том, чтобы избежать регулярного выражения.escaping регулярное выражение для пароля

  function validatePassword(password){ 

        var passwordReg = new RegExp(^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{8,})$); 

        var valid = passwordReg.test(password.trim()); 

        if(!valid) { 
          return false; 
        } else { 
          return true; 
        } 
      } 

Как это исправить?

+0

добавить кавычки в 'параметре RegExp'. 'new RegExp («^(? =. * [0-9]) (? =. * [a-zA-Z]) ([a-zA-Z0-9] {8,}) $ ");' –

ответ

2

Просто объявите регулярное выражение буквального:

function passwordIsValid(password) { 
    return /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{8,})$/.test(password); 
} 
Смежные вопросы