吴磊自己写的js 控制输入数字格式

<!--

要求:

1、必须是整数或者是小数

2、如果是小数,小数点后面只能有一位数字,方式是强制用户不可以输入,并给出提示

3、小数必须是0.5的倍数,如果不是0.5的倍数也要给出相应的提示,并且删除用户的错误输入。

 

-->

<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;//不知道这句话是做什么的。
 if(obj.value.substr(index+1,length)!=0 && obj.value.substr(index+1,length)!=5 ){
  obj.value = obj.value.substring(0,index) + obj.value.substr(index,length);
  document.all.errormsg.innerHTML="<font color='red'>你所输入的不是0.5倍数</font>";
  document.all.errormsg.style.visibility="visible";
 }else{
  document.all.errormsg.style.visibility="hidden";
 }
 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="" onkeyup="limitDecimal(this,1,event)"/>
<div id="errormsg" style="visiblity:hidden">
</div>
</form>
</BODY>
</HTML>

你可能感兴趣的:(吴磊自己写的js 控制输入数字格式)