jquery、js 金額小寫轉成大寫
阿新 • • 發佈:2019-01-04
//xxje是輸入數字的輸入框id $("#xxje").keyup(function(){ //如果輸入的不是數字,則將其設定為空 this.value = this.value.replace(/[^\d\.]/g,'').replace(/^0/,''); var Num = this.value; if(Num=="") { //輸入框刪減為空時,將大寫金額的內容值設為原始狀態,當然也可以根據需求進行修改 $("#dx").text("零元整"); return false; } part = String(Num).split("."); newchar = ""; for(i=part[0].length-1;i>=0;i--){ if(part[0].length > 10){ alert("位數過大,無法計算");//前面如果有驗證位數的,此處判斷可去掉 return false; } tmpnewchar = "" perchar = part[0].charAt(i); switch(perchar){ case "0": tmpnewchar="零" + tmpnewchar ;break; case "1": tmpnewchar="壹" + tmpnewchar ;break; case "2": tmpnewchar="貳" + tmpnewchar ;break; case "3": tmpnewchar="叄" + tmpnewchar ;break; case "4": tmpnewchar="肆" + tmpnewchar ;break; case "5": tmpnewchar="伍" + tmpnewchar ;break; case "6": tmpnewchar="陸" + tmpnewchar ;break; case "7": tmpnewchar="柒" + tmpnewchar ;break; case "8": tmpnewchar="捌" + tmpnewchar ;break; case "9": tmpnewchar="玖" + tmpnewchar ;break; } switch(part[0].length-i-1){ case 0: tmpnewchar = tmpnewchar +"元" ;break; case 1: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break; case 2: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break; case 3: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break; case 4: tmpnewchar= tmpnewchar +"萬" ;break; case 5: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break; case 6: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break; case 7: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break; case 8: tmpnewchar= tmpnewchar +"億" ;break; case 9: tmpnewchar= tmpnewchar +"拾" ;break; } newchar = tmpnewchar + newchar; } if(Num.indexOf(".")!=-1){ if(part[1].length > 2) { part[1] = part[1].substr(0,2) } for(i=0;i<part[1].length;i++){ tmpnewchar = "" perchar = part[1].charAt(i) switch(perchar){ case "0": tmpnewchar="零" + tmpnewchar ;break; case "1": tmpnewchar="壹" + tmpnewchar ;break; case "2": tmpnewchar="貳" + tmpnewchar ;break; case "3": tmpnewchar="叄" + tmpnewchar ;break; case "4": tmpnewchar="肆" + tmpnewchar ;break; case "5": tmpnewchar="伍" + tmpnewchar ;break; case "6": tmpnewchar="陸" + tmpnewchar ;break; case "7": tmpnewchar="柒" + tmpnewchar ;break; case "8": tmpnewchar="捌" + tmpnewchar ;break; case "9": tmpnewchar="玖" + tmpnewchar ;break; } if(i==0)tmpnewchar =tmpnewchar + "角"; if(i==1)tmpnewchar = tmpnewchar + "分"; newchar = newchar + tmpnewchar; } } while(newchar.search("零元") != -1){ newchar = newchar.replace("零零", "零"); newchar = newchar.replace("零億", "億"); newchar = newchar.replace("億萬", "億"); newchar = newchar.replace("零萬", "萬"); newchar = newchar.replace("零元", "元"); newchar = newchar.replace("零角", ""); newchar = newchar.replace("零分", ""); } if(newchar.charAt(newchar.length-1) == "元" || newchar.charAt(newchar.length-1) == "角"){ newchar = newchar+"整"; } $("#dx").text(newchar); });