2013-12-12 179 views
0

我知道下面的代碼將禁止用戶輸入數字,但是如何操作它以禁止特殊字符,例如: ,./;'#[]-=<>?:@~{}_+停止用戶輸入特殊字符

txtUserName.addKeyListener(new KeyAdapter() { 
    public void keyTyped(KeyEvent e) { 
     char c = e.getKeyChar(); 
     if (Character.isDigit(e.getKeyChar())) 
      e.consume(); 
    } 
}); 
+0

他不會被禁止輸入數字,只允許輸入數字? –

回答

0

檢查是否",./;'#[]-=<>?:@~{}_+".indexOf(c) != -1

請參閱String#indexOf(int)

+0

除了'''之外,它們都適用,因爲它認爲我正在關閉引號,所以解決方法是什麼? –

+0

轉義雙引號:'「,。/; \」'#[] ...「'。 –

+0

,工作完美,哪種方式更好的做法? –

1

下面的代碼:

txtUserName.addKeyListener(new KeyAdapter() { 
    public void keyTyped(KeyEvent e) { 
     char c = e.getKeyChar(); 
     if (!Character.isLetterOrDigit(c)) 
      e.consume(); 
    } 
}); 

只需使用不同的功能。

+1

這實際上工作完美。謝謝 –