您的位置:首页 > Web前端 > JavaScript

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

2013-06-30 19:52 811 查看
源代码下载地址:http://download.csdn.net/detail/afgasdg/5675587

一、效果图:







二、JS代码

/**
* 将人民币数字转换成汉字大写,并为ID为upperInputId的Input设置
* @param lowerInputId 小写人民币Input Id号
* @param upperInputId 大写人民币Input Id号
*/
function toUpper(lowerInputId,upperInputId){
var num = $("#"+lowerInputId).val();
if(isNull(num)){
return ;
}
if(num.lastIndexOf(".") == num.length - 1 ){
return ;
}
for ( var int = 0; int < num.length; int++) {
if(checkNum(num)){
break;
}else{
num = removeLastChar(num);
int --;
}
if(isNull(num)) return;
}
$("#"+lowerInputId).val(num);
$("#"+upperInputId).val(ToTrans(num));

function isNull(num){
if(num == null || num == ""){
$("#"+lowerInputId).val("");
$("#"+upperInputId).val("");
return true;
}
return false;
}
}
//校验是否为正浮点数或正整数
function checkNum(str){
var patrn=/^([+]?)\d*\.?\d+$/;
return patrn.test(str);
};

//移除最后一个字符
function removeLastChar(str){
if(str == null || str == ""){
return str;
}
return str.substring(0,str.length-1);
}

function ToTrans(a) {
var b = 9.999999999999E10,
f = "\u96f6",
h = "\u58f9",
g = "\u8d30",
e = "\u53c1",
k = "\u8086",
p = "\u4f0d",
q = "\u9646",
r = "\u67d2",
s = "\u634c",
t = "\u7396",
l = "\u62fe",
d = "\u4f70",
i = "\u4edf",
m = "\u4e07",
j = "\u4ebf",
u = "人民币",
o = "\u5143",
c = "\u89d2",
n = "\u5206",
v = "\u6574";
a = a.toString();
if (a == "") {
alert("转换内容不能为空!");
return "";
}
if (a.match(/[^,.\d]/) != null) {
alert("输入有误,请输入小数点和纯数字!");
return "";
}
if (a.match(/^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$/) == null) {
alert("输入有误,请输入小数点和纯数字!");
return "";
}
a = a.replace(/,/g, "");
a = a.replace(/^0+/, "");
if (Number(a) > b) {
alert("\u5bf9\u4e0d\u8d77,\u4f60\u8f93\u5165\u7684\u6570\u5b57\u592a\u5927\u4e86!\u6700\u5927\u6570\u5b57\u4e3a99999999999.99\uff01");
return "";
}
b = a.split(".");
if (b.length > 1) {
a = b[0];
b = b[1];
b = b.substr(0, 2);
} else {
a = b[0];
b = "";
}
h = new Array(f, h, g, e, k, p, q, r, s, t);
l = new Array("", l, d, i);
m = new Array("", m, j);
n = new Array(c, n);
c = "";
if (Number(a) > 0) {
for (d = j = 0; d < a.length; d++) {
e = a.length - d - 1;
i = a.substr(d, 1);
g = e / 4;
e = e % 4;
if (i == "0") j++;
else {
if (j > 0) c += h[0];
j = 0;
c += h[Number(i)] + l[e];
}
if (e == 0 && j < 4) c += m[g];
}
c += o;
}
if (b != "") for (d = 0; d < b.length; d++) {
i = b.substr(d, 1);
if (i != "0") c += h[Number(i)] + n[d];
}
if (c == "") c = f + o;
if (b.length < 2) c += v;
return c;
}


三、HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>人民币小写转大写</title>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="renMinBi.js"></script>
<script type="text/javascript">
$(function(){
$("#lower").keyup(function(){
toUpper("lower","upper");
});
});
</script>
</head>
<body>
<h2>人民币小写转大写JS实现</h2>
人民币小写:<input type="text" id="lower" style="width:150px;"/>
<br>
人民币大写:<input  type="text" id="upper" style="width:400px" disabled="disabled"/>
</body>
</html>

源代码下载地址:http://download.csdn.net/detail/afgasdg/5675587
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐