#javascript #validation
#javascript #проверка
Вопрос:
Я хочу проверить текстовое поле зарплаты с помощью Java script на моей html-странице с синтаксисом, подобным Max six digits, a dot, max two digits after dot
, и это можно сделать двумя способами:
1) Я заставляю пользователя вводить только целочисленные значения и append a dot and two zeros at the end
некоторые javaScript code
.
2) Проверьте запись, указанную пользователем во время formValidation
с помощью a regex
, которая может передавать правильный синтаксис, как я описал выше…
Что будет проще? И как это может быть достигнуто?
Ответ №1:
Максимум шесть цифр, точка, максимум две цифры после точки
/^d{1,6}(?:.d{0,2})?$/
На самом деле это означает от 1 до шести цифр, за которыми необязательно следует точка и максимум две цифры.
Если вы хотите потребовать точку, используйте
/^d{1,6}.d{0,2}$/
Если вы хотите разрешить запятые, например 150,000
, попробуйте заменить d{1,6}
на
d{1,3}(?:,?d{3})?
Комментарии:
1. Стоит помнить, что страны, не являющиеся гражданами США, могут использовать запятую в качестве десятичного разделителя вместо точки. en.wikipedia.org/wiki/Decimal_mark#Hindu-Arabic_numeral_system
2. @mblase75, Хорошая мысль. Я просто пытаюсь ответить на заданный вопрос. Страны, не являющиеся гражданами США, также могут разбивать ряды цифр на мириады из 2 или 4 цифр вместо 3, которые являются стандартными в США.
3. правда, мой комментарий должен был быть приложен к ОП вместо вашего ответа.
4. @mblase75, не беспокойся. Люди иногда ссылаются непосредственно на ответы, поэтому хорошо, если вместе с ответами появляются оговорки, чтобы люди не истолковывали их как слишком широкое применение при удалении из контекста вопроса.