分享

js 控制只能输入两位小数

 沐浴中的眼泪 2011-01-17
<input type="text" onkeydown="standard(this)"  onkeyup="sss(this);"/>//测试竟然能输入特殊字符(组合键输入:如shift键和数字键)
<script type="text/javascript">
 function sss(obj)
 {
 if(isNaN(obj.value))
 {
 obj.value=obj.value.substring(0,obj.value.length-1);
 }
 }
 function standard(obj)
 {
  var val=obj.value;
  var kc=window.event.keyCode;
 
  if(val.length==0||val=="0.")
  {
   if(kc==110 || kc==190)          //首位或者0.后不能输入.
   {
    window.event.returnValue = false;
    return;
   }
  }
 
  if(val.length==1&&val=="0")    //第一位为0第二位必须是.
  {
   if(kc==8)
   {
    window.event.returnValue = true;
    return;
   }
   if(kc!=110 && kc!=190)
   {
    window.event.returnValue = false;
    return;
   }
  }
  var index=val.indexOf(".");
  if(val.length>=2&&index<0)
  {
  if(kc==8||kc==110||kc==190)
  {
   window.event.returnValue = true;
   return ;
  }
  else{
    window.event.returnValue = false;
   return ;
  }
  }
  if(index>=0)
  {
    var len=val.substring(index+1,val.length).length;
    if(len>=2)
    {
     if(kc==8)
     {
      window.event.returnValue = true;
      return ;
     }
   else
     {
      window.event.returnValue = false;
      return ;
     }
   }
  }
  //允许输入的数字键0~9和小数点(110,190)和回退键
 if( (kc>=48 && kc<=57) || (kc>=96 && kc<=105) || kc==110 || kc==190||kc==8)//如果是数字 或 .
  {
   window.event.returnValue = true;
   return;
  }
 else{
   window.event.returnValue = false;
   return;
  }
 }
</script>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多