Запустите функцию JavaScript после того, как пользователь введет 4 цифры

Звездочка - это только оператор повторения , но вам нужно сказать, что вы повторяете. /*abc*/ соответствует строке, содержащей ab и ноль или больше c (потому что второй * находится на c; первый не имеет смысла, потому что ему нечего повторять). Если вы хотите что-то сопоставить, вам нужно сказать .* - точка означает любой символ ( в определенных рекомендациях ). Если вы хотите просто совместить abc, вы можете просто сказать grep 'abc' myFile. Для вашего более сложного соответствия вам нужно использовать .* - grep 'abc.*def' myFile будет соответствовать строке, содержащей abc, затем def с чем-то опционально между ними.

Обновление на основе комментария:

* в регулярном выражении не совсем совпадает с * в консоли. В консоли * является частью glob construct и просто выступает в качестве подстановочного знака (например, ls *.log перечисляет все файлы, которые заканчиваются на .log). Однако в регулярных выражениях * является модификатором, что означает, что он применяется только к предшествующему ему персонажу или группе. Если вы хотите, чтобы в регулярных выражениях * в качестве подстановочных знаков вам нужно было использовать .*, как указано выше, точка является символом подстановки, а звезда при изменении точки означает поиск одной или нескольких точек; то есть. найдите один или несколько символов.

0
задан hades369 18 January 2019 в 14:51
поделиться

2 ответа

Вы можете просто добавить прослушиватель событий, используя JavaScript.

document.querySelector('input[name="verify"]').onkeyup = function() {
  if (this.value.length === 4) alert('test');
}
<input type="text" name="verify" maxlength="4" />

0
ответ дан Nick 18 January 2019 в 14:51
поделиться

Это ваш тот же фрагмент (ваш код), просто добавляющий функцию проверки и соответствующий вызов.

const verificationFunction = (value) => {
  alert("here we are runnning the verification over " + value)
}
var x = function x() {
  var element = document.getElementsByName("verify")[0];
  if (element.value.length >= 4) {
    verificationFunction(element.value)
  }
}
<input type="text" name="verify" maxlength="4" onkeyup="x()" />

0
ответ дан Prince Hernandez 18 January 2019 в 14:51
поделиться
Другие вопросы по тегам:

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