<input name=num onblur="check(this,2,2)">
<script language=javascript>
/*第二个参数是整数位数,第三个是小数*/
function check(obj,num1,num2)
{
var str=obj.value
var myreg=new RegExp("^(([1-9]\\d{0,"+(num1-1)+"})|(0))(\\.\\d{1,"+num2+"})?$")
if(!myreg.test(str))
{
alert("输入错误")
}
}
</script>

解决方案 »

  1.   

    正则表达式可以帮你完成。
    http://www.esoftnow.com/bbs/dispbbs.asp?boardID=6&ID=72&page=1
      

  2.   

    hbhbhbhbhb1021(天外水火(我要多努力))  谢了不过好像不行,格式对的时候也提示错误
      

  3.   

    用正则表达式可以判断出来。你这个限制太多了onkeypress事件不好做,onblur事件容易造成死循环的,建议在submit的时候去判断。
      

  4.   

    说说不行的测试数据
    onblur只要不设置焦点就不会
    onkeypress多判断一次也是可以实现的