js人民币大小写转换(代码来源网络)

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

            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]
        }

调用方法如:

chineseNumber(100);
posted @ 2016-04-14 10:45  jinzhu4147  阅读(350)  评论(0编辑  收藏  举报