Маска ввода с помощью jQuery и регулярных выражений

#javascript #jquery #regex

#javascript #jquery #регулярное выражение

Вопрос:

Я ищу решение Javascript или jQuery (на стороне клиента) для :

  • Ввод маски: запретить пользователю вводить недопустимый символ
    • Принимайте регулярное выражение как ^[- ]?[0-9] (.[0-9] )?
  • Форматирование ввода
    • разделитель тысяч = ,
    • десятичный разделитель = .

Например, я хочу 1234.56 отобразить (изменить на) ‘1,234.56`.

Плагин маскированного ввода не может разрешить форматирование (я не могу определить это [0-9] перед десятичным разделителем).

meioMask допускает 999.999.999.999,99 форматирование, но значение преобразуется в строку. Привязка с помощью Double в Java завершается с ошибкой.

У вас есть предложения, области исследований?

Комментарии:

1. Это не дает прямого ответа на ваш вопрос, но, возможно, может облегчить вашу жизнь! Проверьте: плагины. jquery.com/project/numberformatter

Ответ №1:

Я последовал совету Аймана Сафади и использовал плагины.jquery.com/project/numberformatter для форматирования и анализа входных данных.

Я сохраняю значение, введенное в alt поле, и восстанавливаю value его, когда пользователь фокусируется (и форматирует onBlur ).

Это решение не блокирует ввод (например, не позволяет вводить букву в количестве). Любые другие идеи должны быть оценены.