Как я могу попросить пользователей ввести определенную цифру с определенным временем для вставки в элемент ввода?
Мне нужно попросить их ввести один раз определенную цифру, скажем, цифру 0, в поле текста или пароля, а также любые другие цифры от 1 до 4.
Как я могу сделать это, используя HTML5 или любым другим способом? Какой шаблон?
Если бы у меня был этот код:
<td><input type="password" name="password" maxlength="4" pattern="\d+" title="3 numbers only, with 1 zero only" placeholder="3 numbers only, with 1 zero only" value="<?php echo htmlentities($password); ?>" /></td>
Тогда мои требуемые шаблоны должны быть в качестве примера: («x» — любая цифра от 1 до 4)
xxx0
x0xx
0xxx
xx0x
и остальные возможные комбинации.
ПРИМЕЧАНИЕ:
Если я вас правильно понимаю, пользователь должен ввести 4-значный номер. Внутри числа должен быть один ноль (и не более), но они могут использовать другие числа (1-4) столько раз, сколько пожелают. Вот что я придумал:
^[1-4]{0,3}0[1-4]{0,3}$
Вы можете увидеть работающий пример PHP здесь: Пример PHPLiveRegEx.com
Очевидно, что ваше тестирование должно проходить на стороне сервера или в javascript, но приведенный выше шаблон будет работать.
Этот раздел не имеет ничего общего с вопросом, но является быстрой справкой для спрашивающего, чтобы помочь объяснить регулярные выражения. Ссылки ведут на рабочие примеры на PHPLiveRegEx.com или RegEx101.com. Ссылки на RegEx101.com включены, так как это достаточно приятно, чтобы выделить совпадения внутри текста (примеры в остальном одинаковы).
Cat
(Тот же пример на RegEx101.com)[Cat]
(Тот же пример на RegEx101.com)Единственное, что нужно иметь в виду, это то, что разные языки по-разному реализуют регулярные выражения, поэтому то, что работает для PHP, может не работать на другом языке точно так же. Обычно небольшая настройка — это все, что нужно. Самое главное — просто поиграть с этим (я рекомендую использовать сайты, на которые я ссылаюсь, для приведенных выше примеров).
Других решений пока нет …