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

本文介绍了一个使用 JavaScript 实现的将人民币小写数字转换为汉字大写的工具,包括源代码、HTML 代码及功能说明。

源代码下载地址:http://download.youkuaiyun.com/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.youkuaiyun.com/detail/afgasdg/5675587

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值