@narem

Как исправить if, ошибка условия?

comparison(){
		this.reg = '[^0-9a-zA-zа-яА-Я]';
		if(this.passw.search(this.reg) == -1 || this.login.search(this.reg) == -1){
			alert(`${this.login} ${this.passw}`);
			alert('Все ок');
		}else{
			alert(`${this.login} ${this.passw}`);
			alert('Не ок');
		}
	}

Вот кусок кода.
Если я ввожу в логин "ывывап+" и пароль "425235" - он берет условие первое(все ок), почему? При этом если я поставлю знак в пароле - он кидает в else
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 2
Minifets
@Minifets
Hello world!!!
Я нашел как минимум 2 ошибки:

1) У вас в регулярке A-z - буква Z должны быть заглавной.
2) Неправильно составленно логическое выражение
this.passw.search(this.reg) == -1 || this.login.search(this.reg) == -1

Нужен знак (и) &&, вместо (или) ||.

P.S.
почему?


Если у вас пароль проходит проверку, то 2-ая часть не проверяется и скрипт идет сразу в блок TRUE.
Если у вас пароль не проходит, а логин проходит проверку, то тут тоже скрипт идет в блок TRUE.
Else только в тех случаях, когда и пароль, и логин не проходят проверку.
Ответ написан
Комментировать
this.reg = /^[0-9a-zA-zа-яА-Я]/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы