jQuery数字转化为人民币大写

<html>

<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />

<head>

<script type="text/javascript" src="../jquery/jquery-2.1.1.js"></script>

<script type="text/javascript">

$(document).ready(function(){

//文本框失去焦点后

$('.gongzi').blur(function(){  // 为表单元素添加失去焦点事件

var $parent = $(this).parent();

$parent.siblings(".tishi").find(".formtips").remove(); //去掉先前的提醒

//只能输入数字和小数点后两位数

if($(this).is(".gongzi")){

if(!/^[0-9]+(.[0-9]{1,2})?$/.test(this.value)){

    var errorMsg = '只能输入整数和带两位小数的数.';

$parent.siblings(".tishi").append('<font color="red" class="formtips onError" size="-1">'+errorMsg+'</font>');

}

}

})

//快捷键enter

$(".gongzi").keydown(function(e){

if(e.keyCode==13){

  $('.gongzi').trigger('blur');

var numError = $('.onError').length;

if(numError){

return false;

var sum=0;

for(var i=0;i<$(".gongzi").length;i++){

sum+=parseFloat($(".gongzi").eq(i).val());

}

var t_sum=sum.toString().split(".");

if(t_sum.length>1){//带有小数

var tt_sum=t_sum[0]+"."+t_sum[1].split("0")[0];//确保不大于两位小数

var l_sum=zhuanhua(tt_sum);//转化

$(".xiaoxie").replaceWith("<td colspan='2' class='xiaoxie'><a>"+tt_sum+"元</a></td>");

$(".daxie").replaceWith("<td colspan='2' class='daxie'> <a>"+l_sum+"</a></td>");

}else{//没有小数

var tt_sum=t_sum[0];

var l_sum=zhuanhua(tt_sum);//转化

$(".xiaoxie").replaceWith("<td colspan='2' class='xiaoxie'><a>"+tt_sum+"元</a></td>");

$(".daxie").replaceWith("<td colspan='2' class='daxie'> <a>"+l_sum+"</a></td>");

}

}

});

//重置

$('#res').click(function(){

$(".gongzi").val(""); 

$(".xiaoxie").replaceWith("<td class='xiaoxie'><a></a></td>");

$(".daxie").replaceWith("<td colspan='2' class='daxie'> <a ></a></td>");

$(".tishi").find(".formtips").remove(); //去掉先前的提醒

});

//数字转化

function zhuanhua(num){

var sum=num.toString();

var tmp = sum.split(".");

var String1 = "零壹贰叁肆伍陆柒捌玖";

var String2 = "亿万仟佰拾圆角分";

//判断是否有小数

if(tmp.length==2){

//带有小数

var zhengshu=tmp[0];

var zs=0;

var xiaoshu=tmp[1];

var xs=0;

for(var i=zhengshu.length-1,j=1;i>=0;i--,j++){

if(zhengshu[i]==0&&i==zhengshu.length-1){

zs+=String2[6-j]+0;

}else if(zhengshu[i]==0&&i<zhengshu.length-1&&j<6){

if(j==5){

zs+=String2[6-j]+0;

}else{

zs+=String1[zhengshu[i]]+0;

}

}else if(j<6){

zs+=String1[zhengshu[i]]+String2[6-j]+0;

}else if(j<9){

if(zhengshu[i]==0){

zs+=String1[zhengshu[i]]+0;

}else{

zs+=String1[zhengshu[i]]+String2[6-j+4]+0;

}

}else if(j<12){

if(j==9&&zhengshu[i]==0&&i<zhengshu.length-1){

zs+=String2[6-j+3]+0;

}else{

zs+=String1[zhengshu[i]]+String2[6-j+8]+0;

}

}

}

for(var i=xiaoshu.length-1,j=1;i>=0;i--,j++){

xs+=String1[xiaoshu[i]]+String2[8-j]+0;

}

var r_zs=zs.split("0");

var r_xs=xs.split("0");

var r_s=0;

for(var i=r_zs.length-1;i>=0;i--){

r_s+=r_zs[i];

}

for(var i=r_xs.length-1;i>=0;i--){

r_s+=r_xs[i];

}

var l_sum=r_s.split("0")[1];

return last_no(l_sum);

}else{

//不带小数

var zhengshu=tmp[0];

var zs=0;

for(var i=zhengshu.length-1,j=1;i>=0;i--,j++){

if(zhengshu[i]==0&&i==zhengshu.length-1){

zs+=String2[6-j]+0;

}else if(zhengshu[i]==0&&i<zhengshu.length-1&&j<6){

if(j==5){

zs+=String2[6-j]+0;

}else{

zs+=String1[zhengshu[i]]+0;

}

}else if(j<6){

zs+=String1[zhengshu[i]]+String2[6-j]+0;

}else if(j<9){

if(zhengshu[i]==0){

zs+=String1[zhengshu[i]]+0;

}else{

zs+=String1[zhengshu[i]]+String2[6-j+4]+0;

}

}else if(j<12){

if(j==9&&zhengshu[i]==0&&i<zhengshu.length-1){

zs+=String2[6-j+3]+0;

}else{

zs+=String1[zhengshu[i]]+String2[6-j+8]+0;

}

}

}

var r_zs=zs.split("0");

var r_s=0;

for(var i=r_zs.length-1;i>=0;i--){

r_s+=r_zs[i];

}

var l_sum=r_s.split("0")[1];

l_sum+="整";

return last_no(l_sum);

}

}

//最后规范,去掉多余的零

function last_no(l_sum){

var num1=0;

for(var i=0;i<l_sum.length-1;i++){

if(l_sum[i]==l_sum[i+1]&&l_sum[i]=='零'){

}else{

num1+=l_sum[i];

}

}

num1+=l_sum[l_sum.length-1];

var num2=num1.split("0")[1];

var num3=0;

for(var i=0;i<num2.length-1;i++){

if(num2[i]=="零"&&num2[i+1]=="亿"){

}else if(num2[i]=="零"&&num2[i+1]=="万"){

}else if(num2[i]=="零"&&num2[i+1]=="圆"){

}else{

num3+=num2[i];

}

}

num3+=num2[num2.length-1];

var ll_sum=num3.split("0")[1];

return ll_sum;

}

});

</script>

</head>

<body>

<div>

<table id="usertable"  border="0" align="left" cellpadding="5">

<th style="width:100px;">姓名</td>

<th style="width:100px;">电话</td>

<th align='left' style="width:80px;">工资</td>

<th style="width:200px;"></td>

<tr align="center">

<td>Tom</td>

<td>18051226736</td>

<td align='left' ><input style="width:80px;"  type="text" class="gongzi" id="gz1"/></td>

<td class="tishi"></td>

</tr>

<tr align="center">

<td>Jerry</td>

<td>15218877634</td>

<td align='left' ><input  style="width:80px;" type="text" class="gongzi" id="gz2"/></td>

<td class="tishi"></td>

</tr>

<tr align="center">

<td>Zero</td>

<td>13627836726</td>

<td align='left' ><input style="width:80px;"  type="text" class="gongzi" id="gz3"/></td>

<td class="tishi"></td>

</tr>

<tr align="center">

<td ><a class="heji" id="heji"><b>合计:</b></a></td>

<td colspan="2" class="xiaoxie"> <a ></a></td>

</tr>

<tr align="center">

<td  ><a><b>大写:</b></a></td>

<td colspan="2" class="daxie"> <a ></a></td>

</tr>

<tr align="center">

<td bgcolor="#E0E0E0"  id="res"><font style="width:80px;"   ><b>重置</b></font></td>

</tr>

</table>

</div>

</body>

</html> 

相关推荐