Приветствую!
Делаю валидацию одного поля, ввод сложного пароля, например gD7$hs.
Не удается правильно удалять пробелы, после ввода правильного пароля.
Если пароль не проходит валидацию по правилам регулярного выражения, то пробелы успешно удаляются.
Если валидайия прошла успешно, то после этого позволяет сделать пробелы. А нужно, чтобы не позволяло сделать пробелы во всех случаях.
Вот код, который я сделал:
function validatePassword(element) {
var str = element.value;
if(!(/(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[0-9!@#$%^&*a-zA-Z]{6,}/g.test(str))){ // правильный пароль
str = str.replace(/\s+/g, ''); //не дает сделать пробел
element.value = str;
layer.msg('Плохой пароль');
} else {
layer.msg('Хороший пароль');
}
}
Вместо
str = str.replace(/\s+/g, '');
Можно вставить:
str = str.split(' ').join('');
Но это не решает проблему.
Подскажите, что не так я делаю?
Заранее спасибо, откликнувшимся!