JS转为大写

1  一个JS转为大写。

< script >
function  regInput(reg)
{
var srcElem = event.srcElement
var oSel = document.selection.createRange()
oSel 
= oSel.duplicate()
oSel.text 
= ""
var srcRange = srcElem.createTextRange()
oSel.setEndPoint(
"StartToStart", srcRange)
var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
event.returnvalue 
= reg.test(num)
}


function  chineseNumber(num)
{
if (isNaN(num) || num > Math.pow(1012)) return ""
var cn = "零壹贰叁肆伍陆柒捌玖"
var unit = new Array("拾佰仟""分角")
var unit1= new Array("万亿""")
var numArray = num.toString().split(".")
var start = new Array(numArray[0].length-12)

function toChinese(num, index)
{
var num = num.replace(/\d/g, function ($1)
{
return cn.charAt($1)+unit[index].charAt(start--%4 ? start%4 : -1)
}
)
return num
}


for (var i=0; i<numArray.length; i++)
{
var tmp = ""
for (var j=0; j*4<numArray[i].length; j++)
{
var strIndex = numArray[i].length-(j+1)*4
var str = numArray[i].substring(strIndex, strIndex+4)
var start = i ? 2 : str.length-1
var tmp1 = toChinese(str, i)
tmp1 
= tmp1.replace(/(零.)+/g, "").replace(/零+$/"")
tmp1 
= tmp1.replace(/^壹拾/"")
tmp 
= (tmp1+unit1[i].charAt(j-1)) + tmp
}

numArray[i] 
= tmp 
}


numArray[
1= numArray[1? numArray[1] : ""
numArray[
0= numArray[0? numArray[0]+"" : numArray[0], numArray[1= numArray[1].replace(/^零+/"")
numArray[
1= numArray[1].match(//? numArray[1] : numArray[1]+""
return numArray[0]+numArray[1]
}


function  aNumber(num)
{
var numArray = new Array()
var unit = "亿万圆$"
for (var i=0; i<unit.length; i++)
{
var re = eval("/"+ (numArray[i-1? unit.charAt(i-1) : ""+"(.*)"+unit.charAt(i)+"/")
if (num.match(re))
{
numArray[i] 
= num.match(re)[1].replace(/^拾/"壹拾")
numArray[i] 
= numArray[i].replace(/[零壹贰叁肆伍陆柒捌玖]/g, function ($1)
{
return "零壹贰叁肆伍陆柒捌玖".indexOf($1)
}
)
numArray[i] 
= numArray[i].replace(/[分角拾佰仟]/g, function ($1)
{
return "*"+Math.pow(10"分角 拾佰仟 ".indexOf($1)-2)+"+"
}
).replace(/^\*|\+$/g, "").replace(//"0")
numArray[i] 
= "(" + numArray[i] + ")*"+Math.ceil(Math.pow(10, (2-i)*4))
}

else numArray[i] = 0
}

return eval(numArray.join("+"))
}

< / script>

< input id = up size = 60  onkeypress = " regInput(/^\d{0,12}(\.\d{0,2})?$/) " >< button onclick = " lw.value = chineseNumber(up.value) " > 转为大写 < / button><br>
< input id = lw size = 60  value = " 壹仟壹佰壹拾壹圆整 " >< button onclick = " up.value = aNumber(lw.value) " > 转为小写 < / button> 

转载于:https://www.cnblogs.com/z2002m/archive/2008/06/19/1225913.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值