Я хочу отфильтровать пароль с помощью JavaScript, но когда я использую этот код, он выдает только предупреждение, независимо от того, что я поставил PWD - PullRequest
0 голосов
/ 24 января 2019

function check() {
  var passwd = document.getElementById('pass');
  if (passwd.length >= 8 && passwd.length <= 20 && !(/(.)\1{3}/i.test(passwd)) && (/[^A-Za-z]/.test(passwd)) && !(/0123|1234|2345|3456|4567|5678|6789|7890|8901|9012/.test(passwd)) && !(/qwer|wert|erty|rtyu|tyui|yuio|uiop|asdf|sdfg|dfgh|fghj|ghjk|hjkl|zxcv|xcvb|cvbn|vbnm|QWER|WERT|ERTY|RTYU|TYUI|YUIO|UIOP|ASDF|SDFG|DFGH|FGHJ|GHJK|HJKL|ZXCV|XCVB|CVBN|VBNM/.test(passwd)) && !(/\s/.test(passwd)) && !(/access14|americanidol|baseball|baseball1|bigdaddy|blink182|butthead|cocacola|computer|corvette|cowboys|danielle|dolphins|einstein|firebird|football|football1|iloveyou|iloveyou1|internet|jennifer|jordan23|liverpool|liverpool1|marlboro|maverick|melanie|michelle|midnight|mistress|mountain|myspace1|password|password1|princess1|qwertyui|redwings|rush2112|samantha|scorpion|slipknot1|srinivas|startrek|starwars|sunshine|superman|superman1|swimming|trustno1|victoria|whatever|passwort|passwort1|frankfurt|fussball/i.test(passwd))) {

    return true;
  } else {
    alert("Some of your information are incorrect");
    return false;

  }
}
<input id="pass" type="text" />
<button onclick="console.log(check())">Check</button>

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Вы должны изменить эту строку

var passwd = document.getElementById('pass');

С этим:

var passwd = document.getElementById('pass').value;

Потому что в другом случае вы всегда получите входной узел, а не его значение (то, что вы действительно хотите).

Надеюсь, это поможет.

0 голосов
/ 24 января 2019

Это потому, что в вашем коде вы устанавливаете passwd для элемента input:

var passwd = document.getElementById('pass');

Вам необходимо установить его на значение input элемент:

var passwd = document.getElementById('pass').value;
...