2010-04-18 74 views

回答

0

我已經解決了問題,通過使用簡單的string功能matches

String str="mystring";

str.matches("[a-zA-Z][0-9]+");

3

使用正則表達式。這應該這樣做假設的第一個字母可以爲大寫或小寫:

Pattern p = Pattern.compile("[a-zA-Z][0-9]+"); 

Matcher m = p.matcher("some text you want"); 
boolean isAlphaNum = m.matches(); 
+0

這是行不通的,從未返回true。有什麼建議麼? – rob 2010-04-18 20:36:29

3

http://osdir.com/ml/Android-Developers/2009-11/msg02501.html似乎是一個更體面的解決方案,它不允許輸入不被接受的字符。從鏈接

代碼:

InputFilter filter = new InputFilter() { 
    public CharSequence filter(CharSequence source, int start, int end, 
    Spanned dest, int dstart, int dend) { 
     for (int i = start; i < end; i++) { 
      if (!Character.isLetterOrDigit(source.charAt(i))) { 
       return ""; 
      } 
     } 
     return null; 
    } 
}; 

edit.setFilters(new InputFilter[]{filter}); 
相關問題