Как не вводить пользовательский десятичный разделитель с клавиатуры, если пользователь вводил десятичный разделитель раньше? - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть плагин, номер формата jQuery. Но это не хорошо. Я хочу, чтобы не вводил десятичный разделитель, если пользователь уже ввел десятичный разделитель.

Примеры:

  • 122.222,555,,,,.. должно стать 122.222,555
  • 122,222.555 ..,,,, должно стать 122,222.555

Вот мой плагин:

(function($)
{
    $.fn.myPlugin = function(options)
    {
        options = $.extend({}, {
            thousands: '.',
            decimal: ','
        }, options);

        this.keyup(function()
        {
            $(this).val(function(el, val)
            {
                val = val.replace(/[^\d.,]/g, '').split(options.decimal);
                val[0] = val[0].replace(options.decimal === '.' ? /,/g : /\./g, '');
                val[0] = val[0].replace(/(\d)(?=(\d{3})+$)/g, "$1" + options.thousands);
                return val.join(options.decimal);
            });
        });
    };

})(jQuery);

и здесь html:

<input id="txt" size="40" type="text">
<input id="new" size="40" type="text">
<script type="text/javascript">
    $('#txt').myPlugin();
    $('#new').myPlugin({thousands:',',decimal:'.'});
</script>

1 Ответ

0 голосов
/ 10 февраля 2012

Может быть, это поможет вам узнать, есть ли функция .toLocaleString().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...