<script language=javascript>
function check(e){
var num=e.value;
re=/^(([1-9]\d*\.\d{0,3})|(0\.\d{0,3})|([1-9]\d*))$/;
if(re.test(num))
{
alert("正确")
}
else
{
alert("错误")
}
}
</script>
<input name=num onblur=check(this)>

解决方案 »

  1.   

    我写的就是判断输入的是不是数字和小数点,以及小数点后只能接3位呀!你上面写的代码,我用正则都实现了,上面的代码可以不要了。你完全可以改一下就用呀。如果你不会改,你可以这样写:
    <script language=javascript>
    function check(e){
    var num=e.value;
    re=/^(([1-9]\d*\.\d{0,3})|(0\.\d{0,3})|([1-9]\d*))$/;
    if(re.test(num))
    {
    alert("正确");
    }
    else
    {
    alert("错误:只能是数字和小数点,且小数点后只能3位!");
    e.value='';
    }
    }
    </script>
    <div align="right">
    <input name=num onblur=check(this)>
      

  2.   

    补充一句:<div align="right">是多余的。