怎样限定在输入框中只能输入数字,不能输字母或其他?
如输入文本框 Text1 ,当我按数字键时,有显示数字,按字母或其他键则没有反应-----文本框 Text1不显示任何东西!谢谢

解决方案 »

  1.   

    转成ASCII码可以。
    用正则表达式也可以。
    用个数组来判断也可以。
      

  2.   

    这个就按照转化成ASC
    限制一下范围就可以实现的
      

  3.   

    function jsZs(str){ 
           var r = str.match(/^\d+$/);
           if(r==null){
             alert("整数!");
           }
         }
      

  4.   

    首先,请确认一下是web应用还是swing。两种应用中处理方式不一样。
      

  5.   

    import javax.swing.*;
    import javax.swing.text.*;public class PlainDocumentDemo extends JFrame {
        private JTextField txt;    public PlainDocumentDemo() {
            txt = new JTextField();
            txt.setDocument(new PlainDocument() {
                public void insertString(int offset,
                                         String str, 
                                         AttributeSet attSet) 
                throws BadLocationException{
                    boolean allDigit = true;
                    for(int i=0; str!=null&&i<str.length(); i++){
                        char c = str.charAt(i);
                        //System.out.println(c);
                        if(c>'9' || c<'0'){
                            allDigit = false;
                            break;
                        }
                    }
                    if(allDigit){
                        super.insertString(offset,str,attSet);
                    }
                }
            });
            
            this.setSize(400,300);
            this.add(txt);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setVisible(true);
            //this.pack();
        }    /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            new PlainDocumentDemo();
        }}
      

  6.   

    或者用正则式也可以(在上面基础上修改)
    Pattern p = Pattern.compile("^\\d+$");
    Matcher m = p.matcher(str);//str上面insertString的参数
    if(m.find())
      super.insertString(offset,str,attSet)