<!--
要求:
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>