<input name=num onblur="check(this.value)">
<script language=javascript>
function check(str)
{
var myreg=/^((-[1-9]\d{0,5})|(-?0))(\.\d{1,3})?$/;
if(!myreg.test(str))
{
alert("错误")
}
}
</script>

解决方案 »

  1.   

    是呀,呵呵,复制快了,没改
    <input name=num onblur="check(this.value)">
    <script language=javascript>
    function check(str)
    {
    var myreg=/^((-[1-9]\d*)|(-?0))(\.\d*)?$/;
    if(!myreg.test(str))
    {
    alert("错误")
    }
    }
    </script>
      

  2.   

    <input name=num onblur="check(this.value)">
    <script language=javascript>
    function check(str)
    {
    if(isNaN(str)){
    alert("not a number")
                    }else{
                        if(str <=0){
            alert("number错误")
                        }

    }
    }
    </script>
      

  3.   

    晕,原来是不能输入小于等于0的,改下,这次呢
    <input name=num onblur="check(this.value)">
    <script language=javascript>
    function check(str)
    {
    var myreg=/^((-[1-9]\d*)|(-?0))(\.\d*)?$/;
    if(myreg.test(str))
    {
    alert("错误")
    }
    }
    </script>
      

  4.   

    <script>
    function c(v)
    {
    reg = /^[0-9]$/
    if(!reg.test(v)||v<0) alert("Error")
    }
    </script>
    <input onblur="c(this.value)">
      

  5.   

    的确错了,多考虑的-0和0的情况,哎,结果把结果搞错了,抓小放大了
    <input name=num onblur="check(this.value)">
    <script language=javascript>
    function check(str)
    {
    var myreg=/^-(([1-9]\d*)|(0))(\.\d*)?$/;
    if(myreg.test(str))
    {
    alert("错误")
    }
    }
    </script>