Проверка пароля при вводе не работала со специальными символами в Vanilla JavaScript - PullRequest
0 голосов
/ 31 августа 2018

Я новый разработчик, и я на самом деле пытаюсь создать пароль, который проверяет при наборе, есть ли хорошие символы.

Для этого я сделал RegExp для прописных букв, цифр и специальных символов.

Прописные буквы и цифры работают хорошо, но я не знаю, почему специальные символы не будут работать.

HTML

<input type="text" class="input">
<p class="maj">uppercase</p>
<p class="number">number</p>
<p class="carspe">special chracters</p>
<p class="carac">min 8 characters</p>

CSS

.maj{
  color:red;
}

.number{
  color:red;
}

.carac{
  color:red;
}

.carspe {
  color:red;
}

JS

var input = document.querySelector('.input');
var maj = document.querySelector('.maj');
var number = document.querySelector('.number');
var carspe = document.querySelector('.carspe');
var carac = document.querySelector('.carac');

var uppercase = /[A-Z]/g;
var numbers = /[0-9]/g;
var carspe = /[!@#$%^&*(),.?":{}|<>]/g;

input.addEventListener('input', function() {

  if (input.value.match(uppercase)) {
    maj.style.color = 'green';
  } else {
    maj.style.color = 'red';
  }

  if (input.value.match(numbers)) {
    number.style.color = 'green';
  } else {
    number.style.color = 'red';
  }

  if (input.value.length >= 8) {
    carac.style.color = 'green';
  } else {
    carac.style.color = 'red';
  }

  if (input.value.match(carspe)) {
    carspe.style.color = 'green';
  } else {
    carspe.style.color = 'red';
  }


})

Спасибо, что нашли время изучить мою проблему и за помощь в будущем <3 </p>

...