function convertCurrency(money) {
//汉字的数字
var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖')
//基本单位
var cnIntRadice = new Array('', '拾', '佰', '仟')
//对应整数部分扩展单位
var cnIntUnits = new Array('', '万', '亿', '兆')
//对应小数部分单位
var cnDecUnits = new Array('角', '分', '毫', '厘')
//整数金额时后面跟的字符
var cnInteger = '整'
//整型完以后的单位
var cnIntLast = '元'
//最大处理的数字
var maxNum = 999999999999999.9999
//金额整数部分
var integerNum
//金额小数部分
var decimalNum
//输出的中文金额字符串
var chineseStr = ''
//分离金额后用的数组,预定义
var parts
if (money == '') { return '' }
money = parseFloat(money)
if (money >= maxNum) {
//超出最大处理数字
return ''
}
if (money == 0) {
chineseStr = cnNums[0] + cnIntLast + cnInteger
return chineseStr
}
//转换为字符串
money = money.toString()
if (money.indexOf('.') == -1) {
integerNum = money
decimalNum = ''
} else {
parts = money.split('.')
integerNum = parts[0]
decimalNum = parts[1].substr(0, 4)
}
//获取整型部分转换
if (parseInt(integerNum, 10) > 0) {
var zeroCount = 0
var IntLen = integerNum.length
for (var i = 0 i < IntLen i++) {
var n = integerNum.substr(i, 1)
var p = IntLen - i - 1
var q = p / 4
var m = p % 4
if (n == '0') {
zeroCount++
} else {
if (zeroCount > 0) {
chineseStr += cnNums[0]
}
//归零
zeroCount = 0
chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]
}
if (m == 0 && zeroCount < 4) {
chineseStr += cnIntUnits[q]
}
}
chineseStr += cnIntLast
}
//小数部分
if (decimalNum != '') {
var decLen = decimalNum.length
for (var i = 0 i < decLen i++) {
var n = decimalNum.substr(i, 1)
if (n != '0') {
chineseStr += cnNums[Number(n)] + cnDecUnits[i]
}
}
}
if (chineseStr == '') {
chineseStr += cnNums[0] + cnIntLast + cnInteger
} else if (decimalNum == '') {
chineseStr += cnInteger
}
return chineseStr
}
<script type="text/javascript">var num = '21022332.05'
var exp = /^([1-9][\d]{0,7}|0)(\.[\d]{1,2})?$/
if(exp.test(num)){
alert('right')
}else{
alert('wrong')
}
</script>
可验证 大于等于零,小于等于99999999.99 的数字
测试正确
我把你那个改成表格的了~这样比较好实现~代码如下:
<table width="600" border="1" align="center" style="text-align:center"><tr>
<td width="102"><input type="checkbox" id="all"/>全选</td>
<td width="203">商品</td>
<td width="119">单价</td>
<td width="148">数量</td>
</tr>
<tr>
<td><input type="checkbox" id="qianbi"/></td>
<td>铅笔</td>
<td>1.5元/支</td>
<td><input type="text" id="qianbi_t" value="1" /></td>
</tr>
<tr>
<td><input type="checkbox" id="yuanzhu" value="" /></td>
<td>圆珠笔</td>
<td>2.5元/支</td>
<td><input type="text" id="yuanzhu_t" value="1" /></td>
</tr>
<tr>
<td><input type="checkbox" id="gangbi" value="" /></td>
<td>钢笔</td>
<td>3元/支</td>
<td><input type="text" id="gangbi_t" value="1" /></td>
</tr>
<tr>
<td colspan="4">金额合计:<span id="m" style="color:#F00"></span>元&nbsp&nbsp&nbsp&nbsp<button>提交订单</button></td>
</tr>
</table>
<script type="text/javascript">
var all=document.getElementById("all")
var qianbi=document.getElementById("qianbi")
var yuanzhubi=document.getElementById("yuanzhu")
var gangbi=document.getElementById("gangbi")
var qb_m=0,yzb_m=0,gb_m=0
all.onclick=function(){
if(all.checked){
qianbi.checked=true
yuanzhubi.checked=true
gangbi.checked=true
}
else{
qianbi.checked=false
yuanzhubi.checked=false
gangbi.checked=false
}
sub()
}
qianbi.onclick=function(){sub()}
yuanzhubi.onclick=function(){sub()}
gangbi.onclick=function(){sub()}
document.getElementById("qianbi_t").addEventListener("change",function(e){
sub()
})
document.getElementById("yuanzhu_t").addEventListener("change",function(e){
sub()
})
document.getElementById("gangbi_t").addEventListener("change",function(e){
sub()
})
function sub(){
if(qianbi.checked){
qb_m=document.getElementById("qianbi_t").value*1.5
}
else{
qb_m=0
all.checked=false
}
if(yuanzhubi.checked){
yzb_m=document.getElementById("yuanzhu_t").value*2.5
}
else{
yzb_m=0
all.checked=false
}
if(gangbi.checked){
gb_m=document.getElementById("gangbi_t").value*3
}
else{
gb_m=0
all.checked=false
}
var sum=qb_m+yzb_m+gb_m
document.getElementById("m").innerHTML=sum
}
</script>
复制到网页的body中去就行了~试试看~不懂得再来问我~