Атрибут pattern. Как правильно сформировать необходимое выражение?
Список стандартных и нестандартных выражений можно посмотреть здесь:
и здесь .
Мне необходимо сформулировать выражение так, чтобы в форму можно было вводить только цифры, максимум 4 символа и при условии если человек захочет ввести 4 символа, то он мог бы ввести только "1000". Не 1001 и не 2100, именно 1000.
Тобишь в диапазоне одного, двух, трех символов, он может писать какие угодно цифры от 0 до 9, а вот если он захочет ввести 4 символа, то необходимо чтобы он смог ввести лишь число 1000.
Я вот сформировал конечно, но этот вариант не работает: ^[0-9]\d[0-2]{0-4}
Подскажите, как правильно сделать?
@realt Теперь мне необходимо чтобы можно было вписывать от 5 до 99999999.
Я вот сформулировал код, а он чет не работает :
^([5-9]{1}|\d{2,3,4,5,6,7}|99999999)$
Помогите пожалуйста последний раз...
@realt
Вы погрязли в ненужных символах и не разобрались, что такое квантификатор. Что лишний раз подтверждает, что избыточность приносит только вред. ([5-9]|\d{2,8})
@Petroveg Блин, я извиняюсь конечно что тревожу снова, но мне тут теперь ко всему этому функционалу, необходимо + разрешить вводить точки и запятые.
Я вот пытался сформировать таким образом, не работает:
([5-9]|\d{2,8} \d+(,\.\d{2})?)
Помогите пожалуйста если не затруднит :(
@realt прочтите доку (ссылка в сообщении @1Michael1), подумайте сами, обратите внимание на квадратные скобки, помните про экранирование, и что просто точка — это любой символ, кроме переноса строки.
@Petroveg ну пожалуйста, умоляю, самый последний раз честное слово и больше ни слова об этом.
Я перепробовал массу вариантов, не выходит ничего абсолютно :(
Толи мозгов у меня наверно для этого не хватает, я не знаю...
Как сделать чтобы теперь минимальное число было 5? Чтобы 1,2,3,4 - ввести нельзя было, чтобы можно было вводить диапазон от 5 до 1000 не больше, не меньше? Помогите пожалуйста.
@Petroveg потому что это уже усложнение (работа с группами), а не наглядность. чтоб понять что такое выражение значит - нужно знать как работают группы (в конкретно этом случае - Non-capturing) и как с ними бороться
@1Michael1 я просто к тому, что дифференцированное усложнение кода выглядит странно. Тут я поставлю квантификатор лишний, и это должно привести к верному ходу мыслей. А тут не поставлю, потому что нужно сделать группу без включения в стэк...
А человек подумает, что {1} — обязателен. Я бы так и подумал.
@Petroveg
как я уже писал выше (хоть и другими словами) - для того, чтоб понимать что "это", надо знать как это работает
[0-9] === [0-9]{1} === \d === \d{1}
и это всего лишь разные вариации записи
а вот
1000 != (?:1000){1}
имеет совсем разную смысловую нагрузку