Как создать HTML-ввод, который принимает только 4-значный цифровой ввод, который находится между 0000-2399 - PullRequest
1 голос
/ 19 сентября 2019

Я хочу создать html-ввод, который будет содержать четырехзначный ввод от 0000 до 2399 (военное время).

Проблема в том, что 0000 равно 0, что означает, что все, что меньше 1000, будетстать менее 4 цифр.Я хочу сохранить формат военного времени.Я пробовал pattern = "[0-9]{4}", но это относится только к input type = "text", и я не могу сделать min или max для этого типа ввода.

Вот мои неудачные попытки с использованием pattern и min max:

<input type = "number" name = "military_time" pattern= "[0-9]{4}" min = "0000" max = "2399">

<input type = "number" name = "military_time" min = "0000" max = "2399">

<input type = "number" name = "military_time" pattern= "[0-9]{4}" min = "0000" max = "2399">

У меня такое ощущение, что для ответа требуется Javascript, но если есть другое решение, которое требует только html (или Coldfusion), которое будет предпочтительным.

Ответы [ 4 ]

1 голос
/ 19 сентября 2019

Чтобы ограничить ввод 24-часовыми часами, вы должны использовать шаблон типа

pattern="([01][0-9]|2[0-3])[0-5][0-9]" 

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

0 голосов
/ 19 сентября 2019

Скрипка здесь

Попробуйте, этот способ может помочь вам

<form>
  <input type="number" name="quantity" min="0000" max="2399">
  <input type="submit">
</form>
0 голосов
/ 19 сентября 2019

Может быть

input:valid {
  color: green;
}
input:invalid {
  color: red;
}
<form name="form1"> 
 <input type="text"  name="pincode" maxlength="4"  id="pin" pattern="\d{4}" required/>
 <input type="Submit"/> 
</form>
0 голосов
/ 19 сентября 2019

Ну, я бы использовал атрибут pattern как регулярное выражение, например:

 <input type="text" name="time_24" pattern="[00-23]{2}:[00-59]{2}" >
...