我的应用程序从用户输入userid作为输入,userid是字母数字,即第一个字符是(a-z),其他部分是数字。如何验证此类型的输入(如G34555)?
答案 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]+");