Я написал библиотеку, которая расширяет EditText, который изначально поддерживает некоторые методы проверки и на самом деле очень гибок.
Текущие, как я пишу, изначально поддерживаемые (через xml атрибуты ) методы проверки:
- регулярное выражение : для пользовательского регулярного выражения
- числовой : только для числового поля
- альфа : для альфа-поля
- буквенно-цифровой : угадайте, что?
- email : проверяет, является ли поле действительным email
- creditCard : проверяет наличие в поле действительной кредитной карты с использованием алгоритма Луна
- phone : проверяет наличие в поле действительного номера телефона
- имя_домена : проверяет, содержит ли поле действительное имя домена (всегда проходит тест на уровне API <8) </li>
- ipAddress : проверяет, что поле содержит действительный IP-адрес
webUrl: проверяет, что поле содержит действительный URL (всегда проходит тест на уровне API <8) </li>
- nocheck : Это ничего не проверяет. (По умолчанию)
Вы можете проверить это здесь: https://github.com/vekexasia/android-form-edittext
Надеюсь, вам понравится :) 1055 *
На странице, на которую я ссылался, вы также можете найти пример проверки электронной почты. Я скопирую соответствующий фрагмент здесь:
<com.andreabaccega.widget.FormEditText
style="@android:style/Widget.EditText"
whatever:test="email"
android:id="@+id/et_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_email"
android:inputType="textEmailAddress"
/>
Существует также тестовое приложение, демонстрирующее возможности библиотеки.
Это скриншот приложения, проверяющего поле электронной почты.
![email validation done thorugh xml+library](https://i.stack.imgur.com/KtLb1.jpg)