要求在文本框中只能输入数字,但是09,08这样的数据是不正确的,但是0是可以的/[1-9]{1}[0-9]*/是可以对09,08这样的数据能进行校验,但是对0也限制了。
请高手门帮忙

解决方案 »

  1.   

    function IsNumber(string,sign)
    //检查传入的变量是否为数值
    {
    var number;
    if (string==null) return false;
    number = new Number(string);
    if (isNaN(number))
    {
    return false;
    }
    else if ((number<0) || (number>=0))
    return true;
    else
    return false;
    }
      

  2.   

    没有调试,以前作过
    number = new Number(string);
    如果是01不能生成数字
    0能生成数字
      

  3.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var reg=/(^[1-9]\d*)|^0$/
    alert(reg.test("11"));
    alert(reg.test("01"));
    alert(reg.test("0"));
    //-->
    </SCRIPT>
      

  4.   

    这还不简单:\b([1-9][0-9]*|0)\b
    测试工具:
    http://www.regexlab.com/zh/workshop.asp?pat=%5Cb%28%5B1-9%5D%5B0-9%5D*%7C0%29%5Cb&txt=0%2C%2008%2C%2009%2C%208%2C%209%2C%20200&dlt=0
      

  5.   

    ([1-9][0-9]*|0)(0|([1-9]\\d*))都行啊,搂主试过没?
    System.out.println("002".matches("(0|([1-9]\\d*))"));
    System.out.println("027".matches("(0|([1-9]\\d*))"));
    System.out.println("02".matches("(0|([1-9]\\d*))"));
    System.out.println("0".matches("(0|([1-9]\\d*))"));
    System.out.println("12".matches("(0|([1-9]\\d*))"));
    System.out.println("20".matches("(0|([1-9]\\d*))"));
    System.out.println("201".matches("(0|([1-9]\\d*))"));
    false
    false
    false
    true
    true
    true
    true