Хотите знать, как ограничить поле ввода только числом?

Иногда вы применяете <input type="number"> и заканчиваете мыслью о том, чтобы решить эту проблему, но это не так.

Вы можете увидеть странное поведение поля ввода с type = ”number”. Изначально, когда вы начинаете писать в поле, вам не нужно будет вводить символы a, b, e или что-то еще, но когда вы пишете так, как 123eeww, он принимает, потому что становится экспоненциальным значением.
Возвращаясь к основы, на которые мы обычно не обращаем внимания, всегда имеют ответ.

Номер типа принимает только числа с плавающей запятой и символ e или E после числа (которые представляют экспоненты, если используются после числа, такого как 123ee). Что теперь?

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

Пояснение:

Как вы можете видеть выше,
Шаг 1: событие onKeyPress, мы проверяем введенный символ, если он соответствует заданному регулярному выражению '^ [0–9] + $', if not input не будет принимать этот символ
Шаг 2
: что, если кто-то скопирует и вставит данные? Чтобы избежать такого сценария, мы также можем ограничить событие вставки, чтобы оно принимает только числовой формат и заменяет остальные нечисловые символы на ''.

Как подать заявку?
Просто зайдите в свой html и добавьте в поле селектор директивы:
<input type="number" numbersOnly>

Как ограничить использование только специальных символов в поле ввода?

Единственное, что вам нужно изменить, это регулярное выражение:
regexStr = ‘^ [a-zA-Z0–9 _] * $’

Используйте код, описанный выше, и измените регулярное выражение, у вас будет поле ввода ограниченных специальных символов.

Что делать, если вы хотите настроить регулярное выражение в соответствии с вашими потребностями

Предположим, я хочу разрешить использование символов «-», «#» только в качестве специальных символов и ограничить остальные.

^ [a-zA-Z0–9 _- #] * $: Просто продолжайте добавлять их в конце регулярного выражения, и это будет работать как шарм.