2012-02-10 72 views
0

我有插件,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> 
+0

你能重新提出你的問題嗎?它是你製作的插件還是已經完成的插件? – 2012-02-10 10:38:23

+0

謝謝保羅幫我編輯問題。 – minh 2012-02-11 14:39:35

+0

@minh你的例子是不夠的。你期望什麼:'123,456.456,789','1,2,3','123.456,7891'? – 2012-02-11 14:59:10

回答

0

也許它可以幫助您知道有一個.toLocaleString()函數。