Добавить формат к тегу ввода HTML

Есть ли способ добавить формат к тегу ввода, который должен использовать пользователь. В качестве примера я хотел бы, чтобы пользователь ввел текст в формате:

int: int

или же

2: 1

Есть ли способ сделать это в html без написания кода проверки в javascript?

Обновлено: я хотел бы использовать дополнительную библиотеку

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
93
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете сделать это с помощью Vue.js, добавив v-model.numer=“” в html. Это будет использовать Vue, внешнюю библиотеку, которая справится со всем этим за вас.

Для ванильного HTML вы также можете использовать type=“number” в своем теге ввода, и большинство браузеров это поддерживают. Те, которые этого не сделают, по умолчанию относятся к типу текста. Подробнее здесь: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number

Ответ принят как подходящий

Вы можете добавить атрибут pattern = "", который использует Regex для проверки входного формата. В вашем случае, если вам нужно любое целое число, за которым следует ':', за которым следует другое целое число, решение:

<input pattern = "\d+[:]\d+" title = "{message_text}" />

Обновлено: добавлен атрибут title = ""

Есть ли способ изменить всплывающее сообщение? А можно указать максимальное и минимальное из этих чисел?

IceRevenge 28.07.2018 19:34

вы можете изменить его, добавив атрибут title = "{message_text}"

Tomáš Kudláč 28.07.2018 19:36

Спасибо за быструю помощь :)

IceRevenge 28.07.2018 19:50

регулярное выражение построено для строк, поэтому проверка значений int немного сложнее, но не невозможна, если вы просто хотите ограничить количество цифр, замените символ '+' на '{MIN, MAX}', MIN и MAX должны быть минимальное и максимальное количество цифр, если вы хотите установить ограничение более конкретно, вы должны использовать оператор или, например, если ваш верхний предел равен 400, регулярное выражение будет (400 | [0-3] [0-9] [0 -9]) где '|' - это оператор или, а '()' означает, что это должно быть именно так, в этом случае это должно быть '400' или любое число, начинающееся с 0-3, за которым следует 0-9, за которым следует 0-9, надеюсь, это поможет

Tomáš Kudláč 28.07.2018 19:54

Спасибо :) немного сложно понять, но разобрался

IceRevenge 28.07.2018 20:10

если вы не укажете количество цифр, которое вам нужно удалить \ d, но остальные его правильные

Tomáš Kudláč 28.07.2018 20:11

Другие вопросы по теме