js调整数字为价格的格式

例子:
比如输入123456会自动调整为123,456的格式。

<script language="javascript" type="text/javascript" >

function isInputedNum (txtId) {
if (!event.shiftKey) {
if (!((event.keyCode >= 48 && event.keyCode <= 57)
|| event.keyCode == 8
|| event.keyCode == 9
|| event.keyCode == 46
|| (event.keyCode >= 96 && event.keyCode <= 105)
|| (event.keyCode >= 37 && event.keyCode <= 40))) {
//alert(event.keyCode);
event.returnValue = false;
return false;
}
if (event.keyCode != 9) {
if (txtId.value == "0") {
txtId.value = "";
}
}
return true;
} else {
event.returnValue = false;
return false;
}
}

/**
* remove comar from a number String
*/
function removeComarValue(txtId) {
if(txtId.readOnly == true)
return;
var txt = removeComar(txtId.value);
txtId.value = txt;
}

/**
* remove comar from a number String
*/
function removeComar(txtNum) {
var numStr = txtNum;
var indx = numStr.indexOf(",");
if (indx != -1) {
numStr = numStr.replace(",", "");
numStr = removeComar(numStr);
}
return numStr;
}


/**
* add comar to a number String
*/
function resetComarValue(txtId) {
if(txtId.readOnly == true) return;
var value = txtId.value.replace(/^0+/g, '');
if (value == '') value = '0';
var txt = resetComar(value);
txtId.value = txt;
}

/**
* add comar to a number String
*/
function resetComar(txtNum) {
txtNum = removeComar(txtNum);
if (txtNum.length <= 3) {
return txtNum;
}
var threeOnes = new Array(0);
var last = txtNum.length;
var first = last - 3;
var arrayIndx = 0;
while (first >= 0) {
var txtNumStr = txtNum.substring(first, last);
threeOnes[arrayIndx] = txtNum.substring(first, last);
arrayIndx++;
last = first;
first = last - 3;
if (first < 0 && last > 0) {
first = 0;
}
}
var txtNumCopy = "";
for (var i = threeOnes.length - 1; i >= 0; i--) {
if (txtNumCopy == "") {
txtNumCopy = threeOnes[i];
} else {
txtNumCopy = txtNumCopy + "," + threeOnes[i];
}
}

if(txtNumCopy.charAt(0) == '-') {
if(txtNumCopy.charAt(1) == ',') {
txtNumCopy = "-" + txtNumCopy.substring(2);
}
}

return txtNumCopy;
}
</script>


<input type="text" id="price" name="price" maxlength="11" onkeydown="return isInputedNum(this)" onfocus="removeComarValue(this)" onblur="resetComarValue(this)" style="text-align: right;" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值