Как передать данные JSON внутри регулярного выражения Javascript? а также подтвердить пароль в последовательности - PullRequest
1 голос
/ 30 октября 2019

Я пытаюсь подтвердить пароль с помощью регулярных выражений javascript. Теперь я хочу проверить две строчные буквы (2 строчные буквы), исходящие от json.

psw.onkeyup = function() {
  var Lcase = jsonData.LOWERCASE;
  var psw = document.getElementById("password");
  var lowerCaseLetters = /[a-z]{2}/g;
  if(psw.value.match(lowerCaseLetters)) {
    letter.classList.remove("invalid");
    letter.classList.add("valid");
  } else {
    letter.classList.remove("valid");
    letter.classList.add("invalid");
  }
}

В приведенном выше коде я устанавливаю переменную "Lcase" для данных json, и теперь я хочузамените "{2}" (внутри регулярного выражения) этой переменной "Lcase", поскольку переменная "Lcase" является динамической. Если я делаю что-то не так, пожалуйста, помогите мне выйти из этой проблемы. Я хочу проверить строчные буквы из json (динамическое число), чтобы увидеть, сколько строчных букв в строке пароля.

Для вашей информации работает приведенный ниже код длины пароля.

  if(psw.value.length >= jsonData.MINLEN_RANGE) {
    length.classList.remove("invalid");
    length.classList.add("valid");
  } else {
    length.classList.remove("valid");
    length.classList.add("invalid");
  }

1 Ответ

0 голосов
/ 30 октября 2019

Если вы задаете свое регулярное выражение с помощью RegExp, вы можете определить {2} с помощью Lcase.
Этот код также включает вопрос, размещенный в комментариях ниже.

psw.onkeyup = function() {
  var Lcase = jsonData.LOWERCASE;
  var psw = document.getElementById("password").value.replace(/([a-z])\d+/g, '$1');
  var lowerCaseLetters = new RegExp('[a-z]{' + Lcase + '}', 'g') 
  if(psw.match(lowerCaseLetters)) {
    letter.classList.remove("invalid");
    letter.classList.add("valid");
  } else {
    letter.classList.remove("valid");
    letter.classList.add("invalid");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...