如何检查在EditText中输入的值是否为字母数字?

时间:2010-04-18 15:10:50

标签: android validation input android-edittext

我的应用程序从用户输入userid作为输入,userid是字母数字,即第一个字符是(a-z),其他部分是数字。如何验证此类型的输入(如G34555)?

3 个答案:

答案 0 :(得分:3)

使用正则表达式。这应该是假设第一个字母可以是大写或小写:

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

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

答案 1 :(得分: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});

答案 2 :(得分:0)

我已使用简单的string函数matches

解决了问题

String str="mystring";

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