jquery-numberformatter插件

项目地址:https://code.google.com/p/jquery-numberformatter/

非jquery版:https://github.com/andrewgp/jsNumberFormatter

Example #1
Here‘s a typical use case for what I‘m describing. You have an input field in your web application that asks a person for their salary. In the US, the user can type in a varied forms of input - "$65000", "65,000", "65000", "65,000.00". All these numbers are exactly the same, but we want to control how these numbers look on the screen.

Here‘s an example of how you‘d use this plugin.

$("#salary").blur(function(){
   $(this).parseNumber({format:"#,###.00", locale:"us"});
   $(this).formatNumber({format:"#,###.00", locale:"us"});
});

This code will ensure that any text in the "salary" textfield will be formatted properly when the user tabs out of it. For example, the user can enter "65000", "65,000", "65000.00" and when they leave the field, the field will automatically format the number to be "65,000.00".

Example #2
Say we have 2 text input fields, one accepts US format numbers, the other unformatted numbers only. When the user loses focus on the formatted input it parses the data and puts the number into the second input, when the user loses focus on the second input it formats the number back to the first input box. This is just to demonstrate how to parse and format values.

$("#salaryUS").blur(function(){
   // take US format text into std number format
   var number = $(this).parseNumber({format:"#,###.00", locale:"us"}, false);
   // write the number out
   $("#salaryUnformatted").val(number);
               
   // OR
               
   number = $(this).val();
   number = $.parseNumber(number, {format:"#,###.00", locale:"us"});
   $("#salaryUnformatted").val(number);
});
       
$("#salaryUnformatted").blur(function(){
   // take the unformatted text and format into US number format
   $("#salaryUS").val($(this).val());
   $("#salaryUS").formatNumber({format:"#,###.00", locale:"us"});
               
   // OR
               
   var number = $(this).val();
   number = $.formatNumber(number, {format:"#,###.00", locale:"us"});
   $("#salaryUS").val(number);
});

Right now there are dozens of countries supported. The syntax for the formatting follows that in the Java DecimalFormatter, so that you can provide a reliable format string on the server and client.

Syntax

The syntax for the formatting is:

  • 0 = Digit, zero shows as absent
  • # = Digit
  • . = Decimal separator
  • - = Negative sign
  • , = Grouping Separator
  • % = Percent (multiplies number by 100)

Supported Locales

Here are the supported Locales. They were chosen because a) they are offered by the Java DecimalFormatter or b) I just felt that they were interesting and wanted to include them.

  • United States -> "us"
  • Arab Emirates -> "ae"
  • Egypt -> "eg"
  • Israel -> "il"
  • Japan -> "jp"
  • South Korea -> "kr"
  • Thailand -> "th"
  • China -> "cn"
  • Hong Kong -> "hk"
  • Taiwan -> "tw"
  • Australia -> "au"
  • Canada -> "ca"
  • Great Britain -> "gb"
  • India -> "in"
  • Germany -> "de"
  • Vietnam -> "vn"
  • Spain -> "es"
  • Denmark -> "dk"
  • Austria -> "at"
  • Greece -> "gr"
  • Brazil -> "br"
  • Czech -> "cz"
  • France -> "fr"
  • Finland -> "fi"
  • Russia -> "ru"
  • Sweden -> "se"
  • Switzerland -> "ch"

jquery-numberformatter插件,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。