我现在想判断输入的数据是不是数字
要求这个数字,只能是int,float,double中任何一个合法的数字,请问js 正则表达式怎么写哦?

解决方案 »

  1.   

    /(^\d*)|(\.\d*$)/g
    /^\d*(\.\d*)?$/
      

  2.   

    <!--
    "^\\d+$" 非负整数
    "^[0-9]*[1-9][0-9]*$" 正整数   
    "^((-\\d+)|(0+))$" 非正整数    
    "^-[0-9]*[1-9][0-9]*$" 负整数    
    "^-?\\d+$" 整数    
    "^\\d+(\\.\\d+)?$" 非负浮点数
    "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" 正浮点数
    "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" 非正浮点数    
    "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" 负浮点数
    "^(-?\\d+)(\\.\\d+)?$" 浮点数
    --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>判断数字</title>
    </head><script language="javascript">
    var re1 = new RegExp("^-?\\d+$");
    var re2 = new RegExp("^(-?\\d+)(\\.\\d+)?$");
    var s = "-12.312";
    if(s.match(re1)==null && s.match(re2)==null) //整数且浮点数

    alert( s + "不是数字!");
    }
    else
    {
    alert( s + "是数字!");
    }
    </script><body>
    </body>
    </html>