Разрешить только выбранные символы на основе регулярных выражений в EditText - PullRequest
4 голосов
/ 15 ноября 2010

Я хочу разрешить пользователям вводить только определенные символы на основе регулярного выражения в моих приложениях для Android.Как мне этого добиться?

Ответы [ 2 ]

11 голосов
/ 15 ноября 2010

Использовано TextWatcher как предложено @Matt Ball.

@Override
public void afterTextChanged(Editable s) {
      String text = s.toString();
      int length = text.length();

      if(length > 0 && !Pattern.matches(PATTERN, text)) {
           s.delete(length - 1, length);
      }
}

Редактировать Хотя TextWatcher работает, было бы чище использовать InputFilter. Проверьте это пример .

1 голос
/ 15 ноября 2010

Попробуйте это: если символ для ввода совпадает с / [a-zA-Z0-9 {введите допустимые символы здесь}] /, тогда разрешите, в противном случае - нет.

...