正则表达式不要用"过"了try{
alert(str==eval(str))
}catch(e){}就可以了

解决方案 »

  1.   

    function  validateNumeric( strValue ) {
      var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
      return objRegExp.test(strValue);
    }
      

  2.   

    //检查是否为任意数(实数)
    function isNumeric(strNumber) {
    var newPar=/^(-|\+)?\d+(\.\d+)?$/
    alert(newPar.test(strNumber));}
    //检查是否为正数
    function isUnsignedNumeric(strNumber) {
    var newPar=/^\d+(\.\d+)?$/
    alert(newPar.test(strNumber)); }
    //检查是否为整数
    function isInteger(strInteger) {
    var newPar=/^(-|\+)?\d+$/
    alert(newPar.test(strInteger)); }
    //检查是否为正整数
    function isUnsignedInteger(strInteger) {
    var newPar=/^\d+$/
    alert(newPar.test(strInteger));}
      

  3.   

    有这么简单吗?<script language="vbscript">
    msgbox isnumeric(-0.1e-10)
    </script><script language="JavaScript1.2">
    alert(eval("-0.1e-10"))
    </script>