如果用户之前输入了小数分隔符,如何不从用户输入小数点分隔符

时间:2012-02-10 10:32:28

标签: jquery jquery-plugins decimal

我有插件,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 :(得分:0)

也许它可以帮助您了解.toLocaleString()功能。