JS数字小写转换大写

在一个文本框里输入一个数值,在另一个地方显示的时候自动转换成大写,数值是一个钱数,保留两位小数,例如100.00,壹佰元零角零分。
View Code
1 <script type="text/javascript">
2 //主函数
3 function DX(n) {
4 if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))
5 return "数据非法";
6 var unit = "千百拾亿千百拾万千百拾元角分", str = "";
7 n += "00";
8 var p = n.indexOf('.');
9 if (p >= 0)
10 n = n.substring(0, p) + n.substr(p+1, 2);
11 unit = unit.substr(unit.length - n.length);
12 for (var i=0; i < n.length; i++)
13 str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
14 return str.replace(/零(千|百|拾|角)/g, "").replace(/(零)+/g, "").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
15 }
16 //以下为测试输出
17 alert('1526365.56 '+DX(1526365.56))
18 </script>
原文地址:https://www.cnblogs.com/acafaxy/p/2057933.html