第一个问题 onblur事件时,判断 
只能是数字和小数点,且小数点后只能3位
但可以是正负数字,现在下面这个在最前面输入 正号和负号是不允许的function checkNum(e){
var num=e.value;
re=/^(([1-9]\d*\.\d{0,3})|(0\.\d{0,3})|([0-9]\d*))$/;
if(re.test(num))
  {
return;
  }
else
 {
alert("只能是数字和小数点,且小数点后只能3位!");
e.value='';
 }
}

解决方案 »

  1.   

    <script>
    function checkNum(e){
    var num=e.value;
    re=/^([\-\+])?(([1-9]\d*\.\d{1,3})|(0\.\d{0,3})|([0-9]\d*))$/;
    if(re.test(num))
      {
    return;
      }
    else
     {
    alert("只能是整数或小数且小数点后不超过3位!");
    e.value='';
     }
    }
    </script><input type="text" onblur=checkNum(this)>
      

  2.   

    问题1
    <script language=javascript>
    function checkNum(e){
    var num=e.value;
    re=/^-?(([1-9]\d*\.\d{0,3})|(0\.\d{0,3})|([0-9]\d*))$/;
    if(re.test(num))
      {
    return;
      }
    else
     {
    alert("只能是数字和小数点,且小数点后只能3位!");
    e.value='';
     }
    }
    </script>
    <input name=haha onblur=checkNum(this)>问题2、
    <script language=javascript>
    function checkNum(e){
    var num=e.value;
    re=/^[^']+$/;
    if(re.test(num))
      {
    alert("不能输入单引号");
    e.value='';
      }
    else
     {
    return
     }
    }
    </script>
    <input name=haha onblur=checkNum(this)>