Ни один из REGEX, которые я пробовал работать в шаблоне ввода HTML - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь сделать ввод HTML, чтобы иметь возможность получать только float числа, такие как: x.123 x, 123 x.123456 x, 123456

Где x может иметь одну или две цифры:х или хх.

По сути, я хотел бы знать, как сделать pattern, который принимает только такие цифры.

Читая по сети, я нашел два шаблона, которые должны были совпастьмои потребности, но они не работают.

^[+-]?([0-9]*[.])?[0-9]+$ ^(?=.)(\d{1,2}(,\d{3,6})*)?(\.\d+)?$

Они были найдены, я не понимаю, как это работает.

Регулярное выражение Googling Я нашелмного инструментов, которые работают для, на или с (я понятия не имею) JavaScript, PHP, RUBY, PCRE.

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

Есть ли какой-нибудь инструмент реверса, который фактически делает регулярное выражение?

Я нашел это http://buildregex.com/Я не знаю, как это работает ... Это я пытаюсь сделать мой шаблон ...

/(?:(?:(?:(?:(?:(?:)|(?:(?:22\.123))|(?:(?:2\.123))|(?:(?:22\.123))|(?:)|(?:)|(?:))))))/

РЕДАКТИРОВАТЬ:

Это вход:

<input id="text-input" type="text" inputmode="numeric" pattern="/^[\d]{1,2}[.,][\d]{3,6}$/"
                                    oninvalid="this.setCustomValidity('Please enter a number with 3-6 decimals')"
                                    onchange="try{setCustomValidity('')}catch(e){}"
                                    oninput="setCustomValidity(' ')"
>


Ответы [ 3 ]

2 голосов
/ 07 июня 2019

Вы можете использовать pattern="^\d{1,2}[.,]\d{3,6}$"

^\d{1,2}, начиная с 1-2 цифр (ов)

[.,], за которыми следует либо запятая, либо точка

\d{3,6}$ заканчивается 3-6 цифрами

1 голос
/ 07 июня 2019
^\d{1,2}[\.]\d{3,6}$ ,

^d{1,2} означает: максимум 2 цифры начинаются с.

[\.] означает: имея . в середине.

d{3,6} означает минимум 3 и максимум 6 цифр десятичных знаков в конце.

1 голос
/ 07 июня 2019

Нет необходимости в разделителях и якорях, используйте:

pattern="\d{1,2}[.,]\d{3,6}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...