2010-04-18 76 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});