Мое приложение принимает идентификатор пользователя от пользователя в качестве ввода, идентификатор пользователя буквенно-цифровой, т. Е. Только первый символ (a-z), другая часть числовая. Как я могу проверить ввод этого типа (например, G34555)?
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});
Используйте регулярное выражение. Это должно быть сделано при условии, что первая буква может быть прописной или строчной:
Pattern p = Pattern.compile("[a-zA-Z][0-9]+"); Matcher m = p.matcher("some text you want"); boolean isAlphaNum = m.matches();
Я решил проблему с помощью простой string функции matches
string
matches
String str="mystring";
str.matches("[a-zA-Z][0-9]+");