可以用正则表达式啊,http://www.computerworld.com.cn 上有一篇文章
Java正则表达式详解
很不错。

解决方案 »

  1.   

    你用Integer.parserToInt(String value)
    如果抛出异常了就说明不是数字
    反之就是了啊
    正则表达太慢了
      

  2.   

    有一个键盘按下事件,通过查按下键的ascii码的值把非数值排除
      

  3.   

    try{
    Integer.parserToInt(String value)
    }
    catch(Exception e)
    {
    }
    如果抛出异常了就说明不是数字
      

  4.   

    如下是一个只允许输入整数的例子,如果要求可以输入小数,稍做修改即可
    class IntDocument extends PlainDocument {
    public void insertString(int offs, String str,AttributeSet attr) throws BadLocationException {
    if (str == null || str.trim().length() == 0) return;
    boolean insertflag = true;
    StringBuffer sb = new StringBuffer(getText(0, getLength()));
    sb.insert(offs, str);
    try {
    Integer.parseInt(sb.toString()); 
    }catch(NumberFormatException ex) {
    insertflag = false;
    }
    if (insertflag)
    super.insertString(offs, str, attr);
    }
    }JTextField textf = new JTextField();
    textf.setDocument(new IntDocument());
      

  5.   

    注意,要做输入限制必须在Document中处理
    如果只监听键盘或者鼠标事件的话,有一些情况如复制不能处理
      

  6.   

    可以用正则表达式啊try{
    Integer.parserToInt(String value)
    }
    catch(Exception e)
    {
    }
    如果抛出异常了就说明不是数字
      

  7.   

    异常机制是为了捕获异常和错误的,
    不是让你们拿来做判断的。
    另外,异常机制用来判断,绝对是最慢的,正则表达式才正解。假设有char a;
    要判断它是否为数字,只要:
    if(a>='0' && a<='9') {
        System.out.println("true");
    }else {
        System.out.println("false");
    }如果是字符串,可以使用charAt方法遍历该字符串来获得结果,一旦有一个CHAR不为
    数字就返回FALSE。下面是使用正则表达式:
    假设有字符串string, if(Pattern.matches("[0-9]*", string)) {
        System.out.println("true");
    }else {
        System.out.println("false");
    }到底是哪个简单,一目了然了吧。
      

  8.   

    几个说明:正则表达式处理类Pattern是JDK1.4才有的
    (我们要用JDK1.3,不能用,sigh)
    另外:
    上面的string不能为null,
    如果为空字符串(即:"")也会返回true,可以根据需要来判断这种情况是否为真
      

  9.   

    判断一下每一个字母>0并且<9function onlyNum(inputStr) {
    var flag=true;
        for (var i = 0; i < inputStr.length; i++) {
            var oneChar = inputStr.charAt(i)
            
            if (oneChar < "0" || oneChar > "9") {
               flag=false;
            }
        }
        return flag;
    }
      

  10.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function onlyNum(inputStr) {
    var flag=true;
        for (var i = 0; i < inputStr.length; i++) {
            var oneChar = inputStr.charAt(i)
            
            if (oneChar < "0" || oneChar > "9") {
               flag=false;
            }
        }
        return flag;
    }
    //-->
    </SCRIPT>
      

  11.   

    如果你是在Appliction或是Applet中的话用 flyx(枫林一笑)  的方法的方法最好!如果是在Jsp中,你就不必费神了,在DreamWeaver MX中有现成的JavaScript,套用上就行了! 可以再改一下提示信息! 更好一些! "设计"--->"行为"---"检查表单" ...... 
    当然如果你的javaScript比较好,就用 lymkelly(柳叶眉) 的! 
    我喜欢 DreamWeaver MX ! 方便!^_^
      

  12.   

    to 楼上,
    使用异常机制来判断是最差的。
    另外,在页面中也是可以使用正则表达式的,直接对<input type='text'>的
    onkeypress、onpaste、ondrop三个事件进行过滤来控制输入的字符,通过使用不同
    的正则表达式来对不同要求的输入进行控制,比如只输入数字字符,输入浮点型的数据等等。
      

  13.   

    如果是页面的话<input type="text" name="yzm" size="6" maxlength="4" class="put" onkeyup='this.value=this.value.replace(/\D/gi,"")'>