JS实现人民币小写转换成汉字大写

来源:互联网 发布:保定网络推广培训 编辑:程序博客网 时间:2024/05/19 05:32

源代码下载地址:http://download.csdn.net/detail/afgasdg/5675587

一、效果图:


二、JS代码

[javascript] view plaincopy
  1. /** 
  2.  * 将人民币数字转换成汉字大写,并为ID为upperInputId的Input设置 
  3.  * @param lowerInputId 小写人民币Input Id号 
  4.  * @param upperInputId 大写人民币Input Id号 
  5.  */  
  6. function toUpper(lowerInputId,upperInputId){  
  7.     var num = $("#"+lowerInputId).val();  
  8.     if(isNull(num)){  
  9.         return ;  
  10.     }  
  11.     if(num.lastIndexOf(".") == num.length - 1 ){  
  12.         return ;  
  13.     }  
  14.     for ( var int = 0; int < num.length; int++) {  
  15.         if(checkNum(num)){  
  16.             break;  
  17.         }else{  
  18.             num = removeLastChar(num);  
  19.             int --;  
  20.         }  
  21.         if(isNull(num)) return;  
  22.     }  
  23.     $("#"+lowerInputId).val(num);  
  24.     $("#"+upperInputId).val(ToTrans(num));  
  25.       
  26.     function isNull(num){  
  27.         if(num == null || num == ""){  
  28.             $("#"+lowerInputId).val("");  
  29.             $("#"+upperInputId).val("");  
  30.             return true;  
  31.         }  
  32.         return false;  
  33.     }  
  34. }  
  35. //校验是否为正浮点数或正整数  
  36. function checkNum(str){  
  37.   var patrn=/^([+]?)\d*\.?\d+$/;  
  38.   return patrn.test(str);  
  39. };  
  40.   
  41. //移除最后一个字符  
  42. function removeLastChar(str){  
  43.     if(str == null || str == ""){  
  44.         return str;  
  45.     }  
  46.     return str.substring(0,str.length-1);  
  47. }  
  48.   
  49. function ToTrans(a) {  
  50.     var b = 9.999999999999E10,  
  51.     f = "\u96f6",  
  52.     h = "\u58f9",  
  53.     g = "\u8d30",  
  54.     e = "\u53c1",  
  55.     k = "\u8086",  
  56.     p = "\u4f0d",  
  57.     q = "\u9646",  
  58.     r = "\u67d2",  
  59.     s = "\u634c",  
  60.     t = "\u7396",  
  61.     l = "\u62fe",  
  62.     d = "\u4f70",  
  63.     i = "\u4edf",  
  64.     m = "\u4e07",  
  65.     j = "\u4ebf",  
  66.     u = "人民币",  
  67.     o = "\u5143",  
  68.     c = "\u89d2",  
  69.     n = "\u5206",  
  70.     v = "\u6574";  
  71.     a = a.toString();  
  72.     if (a == "") {  
  73.         alert("转换内容不能为空!");  
  74.         return "";  
  75.     }  
  76.     if (a.match(/[^,.\d]/) != null) {  
  77.         alert("输入有误,请输入小数点和纯数字!");  
  78.         return "";  
  79.     }  
  80.     if (a.match(/^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$/) == null) {  
  81.         alert("输入有误,请输入小数点和纯数字!");  
  82.         return "";  
  83.     }  
  84.     a = a.replace(/,/g, "");  
  85.     a = a.replace(/^0+/, "");  
  86.     if (Number(a) > b) {  
  87.         alert("\u5bf9\u4e0d\u8d77,\u4f60\u8f93\u5165\u7684\u6570\u5b57\u592a\u5927\u4e86!\u6700\u5927\u6570\u5b57\u4e3a99999999999.99\uff01");  
  88.         return "";  
  89.     }  
  90.     b = a.split(".");  
  91.     if (b.length > 1) {  
  92.         a = b[0];  
  93.         b = b[1];  
  94.         b = b.substr(0, 2);  
  95.     } else {  
  96.         a = b[0];  
  97.         b = "";  
  98.     }  
  99.     h = new Array(f, h, g, e, k, p, q, r, s, t);  
  100.     l = new Array("", l, d, i);  
  101.     m = new Array("", m, j);  
  102.     n = new Array(c, n);  
  103.     c = "";  
  104.     if (Number(a) > 0) {  
  105.         for (d = j = 0; d < a.length; d++) {  
  106.             e = a.length - d - 1;  
  107.             i = a.substr(d, 1);  
  108.             g = e / 4;  
  109.             e = e % 4;  
  110.             if (i == "0") j++;  
  111.             else {  
  112.                 if (j > 0) c += h[0];  
  113.                 j = 0;  
  114.                 c += h[Number(i)] + l[e];  
  115.             }  
  116.             if (e == 0 && j < 4) c += m[g];  
  117.         }  
  118.         c += o;  
  119.     }  
  120.     if (b != ""for (d = 0; d < b.length; d++) {  
  121.         i = b.substr(d, 1);  
  122.         if (i != "0") c += h[Number(i)] + n[d];  
  123.     }  
  124.     if (c == "") c = f + o;  
  125.     if (b.length < 2) c += v;  
  126.     return c;  
  127. }  

三、HTML代码:

[html] view plaincopy
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>  
  3.     <head>  
  4.         <title>人民币小写转大写</title>  
  5.         <script type="text/javascript" src="jquery-1.4.2.min.js"></script>  
  6.         <script type="text/javascript" src="renMinBi.js"></script>  
  7.         <script type="text/javascript">  
  8.             $(function(){  
  9.                 $("#lower").keyup(function(){  
  10.                     toUpper("lower","upper");  
  11.                 });  
  12.             });  
  13.         </script>  
  14.     </head>  
  15.     <body>  
  16.         <h2>人民币小写转大写JS实现</h2>  
  17.         人民币小写:<input type="text" id="lower" style="width:150px;"/>  
  18.         <br>  
  19.         人民币大写:<input  type="text" id="upper" style="width:400px" disabled="disabled"/>  
  20.     </body>  
  21. </html>  

源代码下载地址:http://download.csdn.net/detail/afgasdg/5675587
0 0
原创粉丝点击