输入时整数和小数验证 带“,”区分

本文介绍了一种使用JavaScript进行输入验证的方法,并演示了如何确保数值输入的有效性和正确格式,同时还提供了一个大数字显示格式化的实用示例。

<script language="javascript">
function digitCheck() {
 var varCurKey = String.fromCharCode(event.keyCode);
 var varCurRegExp = /^[0-9]{1,8}(/.[0-9]{0,2})?$/;

 if (varCurRegExp.test(event.srcElement.value + varCurKey) == false) {
  event.returnValue = false;
 }
}

function formatDigit(varCurValue, varCurDec) {
 if (varCurValue != "") {
  var varTempValue;

  if (varCurDec < 1)
   return varCurValue;
  var varTempStr = varCurValue.toString();
  if (varTempStr.indexOf(".") != -1) {
   if (varTempStr.split(".")[1].length >= varCurDec) {
    if (varTempStr.indexOf(".") == 0) {
     varTempStr = "0" + varTempStr;
    }
    return parseFloat(varTempStr).toFixed(2);
   } else {
    varTempValue = formatDigit(varTempStr + "0", varCurDec);
   }
  } else {
   if (Number(varTempStr) != 0) {
    varTempValue = formatDigit(Number(varTempStr) + ".0", varCurDec);
   } else {
    varTempValue = "0.00";
   }
  }
  return varTempValue;
 } else {
  return "";
 }
}

function UppercaseCheck() {
 var varCurKey = String.fromCharCode(event.keyCode);
 var varCurRegExp = /^[A-Z]+$/;
 if (varCurRegExp.test(event.srcElement.value + varCurKey) == false) {
  event.returnValue = false;
 }
}

function FormatIntToStrInt(varCurObj){
 var varCurValue = varCurObj.value;
 var varTempStr = "";
 var varIntLen = 0;

 varCurValue = varCurValue.replace(/,/g,"");
 varIntLen = varCurValue.split(".")[0].length;
 if (varCurValue !="" && varIntLen > 0) {
  for (var i = varIntLen, t=0; i-1 >= 0; i = i-1, t++) {
   if (t%3 == 0 && t > 0) {
    varTempStr = varCurValue.charAt(i-1) + "," + varTempStr;
   } else {
    varTempStr = varCurValue.charAt(i-1) + varTempStr;
   }
  }
 }
 if (varCurValue.indexOf(".") != -1) {
  varCurObj.value = varTempStr + "." + varCurValue.split(".")[1];
 } else {
  varCurObj.value = varTempStr;
 }
}

function FormatStrIntToInt(varCurObj){
 var varTempValue = varCurObj.value;

 varCurObj.value = varTempValue.replace(/,/g, "");
 varCurObj.select();
}
</script>

<input id="txtMoney" onkeypress="digitCheck()" onblur="this.value=formatDigit(this.value, 2); FormatIntToStrInt(this);" onfocus="FormatStrIntToInt(this)" onpaste="event.returnValue=false;" maxLength="11" size="15">

<input id="txtCd" onkeypress="UppercaseCheck()" onpaste="event.returnValue=false;" maxLength="3" size="3">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值