Я пытаюсь создать форму в Android , в которой одним из полей является электронная почта , и я хотел знать, есть ли способ автоматически проверить правильность введенной электронной почты и вместо этого показать что-то похожее на то, что показано на следующем изображении:
Я указал поле электронной почты следующим образом:
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/letraAzul"
android:inputType="textEmailAddress"
android:textSize="@dimen/texto_letra"
android:hint="Email"/>
где android:inputType="textEmailAddress"
он отвечает только за отображение клавиатуры для ввода электронной почты, как говорится в документации .
Если нет автоматического способа проверки, как лучше всего проверить правильность адреса электронной почты?
Использовать:
android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()
- Регулярное выражение типа
"^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$"
(какое выражение принимает больше типов писем?) - Другой путь
Кто-нибудь знает, как это сделать, или есть какие-либо примеры или документация, которые могут мне помочь?
Ваше здоровье
Вы можете использовать класс Pattern
Как видите, мы создаем шаблон EMAIL_ADDRESS и проверяем с помощью метода
matcher
правильность адреса электронной почты.Если вы просто хотите убедиться, что электронное письмо правильно сформировано, этот класс
Pattern
полезен.Если вы хотите знать, существует ли электронное письмо, является ли оно действительным и не является одноразовым адресом или почтой -ловушкой для спама, единственный эффективный способ — использовать внешнюю службу для проверки электронной почты. Существует довольно много провайдеров, почти все они через API, с помощью которого вы можете сделать REST-вызов, и он возвращает результат проверки электронной почты.