JS只允许输入数字和小数

如何用JS验证输入框只允许输入数字和小数点,且小数点不能超过1个?既小数点只能输入一个,不能输入多个!  

 

<SCRIPT   LANGUAGE="JavaScript">  
  <!--  
  function   check(e){  
          if(isNaN(e.value)){  
            alert('你输入的不是一个数字!/n请重新输入')  
    e.value='';  
    setTimeout('document.all['+e.sourceIndex+'].focus()',10)  
  }  
  }  
  //-->  
  </SCRIPT>  
  <INPUT   TYPE="text"   NAME="a"   οnchange="check(this)">

 

小数点的问题应怎么解决?

 

function   validate(sDouble){  
      var   re   =   /^/d+(?=/.{0,1}/d+$|$)/  
      return   re.test(sDouble)  
  }  
   
  alert(validate("1.22"))       //true  
  alert(validate("111"))         //true  
  alert(validate("1..22"))     //false  
  alert(validate("1.2a2"))     //false  
  alert(validate("1."))           //false  

#####################

一、

<script type="text/javascript">
function check(evt,me){
evt = evt?evt:window.event;
if(!/^/d+$/.test(me.value)){
if(evt.keyCode==46 && evt.keyCode<48 || evt.keyCode>57){
evt.returnValue=false;
}else{
if(me.value.indexOf(".")!=-1){if(me.value.split(".")[1].length>1){evt.returnValue=false;}}
}}}
</script>

<input type="text" name="t2" style="ime-mode:disabled" onKeyPress="check(event,this)" autocomplete="off" />

二、

<script type="text/javascript">
function check(evt,me){
evt = evt?evt:window.event;
if (evt.keyCode!=46 && evt.keyCode<48 || evt.keyCode>57){
   evt.returnValue=false;
}else{
   if(me.value.indexOf(".")!=-1){
    if(evt.keyCode==46){evt.returnValue=false;}
    if(me.value.split(".")[1].length>1){evt.returnValue = false;}
   }else{
    if(me.value==""){if(evt.keyCode==46){evt.returnValue=false;}}
   }
}
}
</script>

<input type="text" name="t2" style="ime-mode:disabled" onKeyPress="check(event,this)" autocomplete="off" />

 

 

 

############限制小数点后面的位数

<HTML>
<HEAD>
<TITLE>limit Decimal</TITLE>
</HEAD>
<script type="text/javascript">
function limitDecimal(obj,length,event)
{
 var e = window.event || event;
 if(obj.value.indexOf(".") == -1 || obj.value.indexOf(".") > length)
  return false;
 if(e.keyCode == 37)
  return false;//解决光标向左移动的问题
 var index = obj.value.indexOf(".");
 if(obj.value.length-index-1 < length)
  return false;
 obj.value = obj.value.substring(0,index) + obj.value.substr(index,length+1);
 return false;
}

</script>
<BODY>
<form action="" name="testForm" id="testForm" method="post">
<input name="decimal" type="text" maxlength="5" value="" οnkeyup="limitDecimal(this,1,event)"/>
</form>
</BODY>
</HTML>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值