Проверка электронной почты Android EmailText Validation
У меня есть это определение EditText:
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:inputType="textEmailAddress"
android:id="@+id/EmailText"/>
Обратите внимание, что в EditText указан тип ввода, определенный спецификацией адреса электронной почты. Есть ли у Android что-либо встроенное для проверки типа ввода адреса электронной почты, или все это нужно сделать вручную? Это позволяет мне вводить неверные данные, поэтому мне любопытно, как это сделать.
Спасибо.
Ответы
Ответ 1
Здесь При указании типа ввода электронной почты вы устанавливаете клавиатуру типа электронной почты "@" и ".". ключевое слово будет отображаться на клавиатуре.
лучшим решением является сравнение электронной почты с помощью следующей функции
public boolean isEmailValid(String email)
{
String regExpn =
"^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@"
+"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?"
+"[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\."
+"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?"
+"[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
+"([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]{2,4})$";
CharSequence inputStr = email;
Pattern pattern = Pattern.compile(regExpn,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if(matcher.matches())
return true;
else
return false;
}
если эта функция возвращает значение true, тогда ваш адрес электронной почты будет действителен иначе
Ответ 2
Если вы используете API 8 или выше, вы можете использовать легкодоступный класс Patterns
для проверки электронной почты. Пример кода:
public final static boolean isValidEmail(CharSequence target) {
if (target == null)
return false;
return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
}
Если вы даже поддерживаете уровень API менее 8, вы можете просто скопировать файл Patterns.java
в свой проект и ссылаться на него. Вы можете получить исходный код для Patterns.java
из эту ссылку
Ответ 3
несколько лучших ответов вы можете найти здесь и здесь (кредиты оригинальным авторам)
boolean isEmailValid(CharSequence email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
или
пользовательская библиотека проверки https://github.com/vekexasia/android-form-edittext
проверьте вторую ссылку для получения дополнительной информации и предварительного просмотра (regexp, numeric, alpha, alphaNumeric, email, creditCard, phone, domainName, ipAddress, webUrl)
Приветствия
Ответ 4
Поле Editext не будет проверять вашу электронную почту, только установив метод ввода для типа электронной почты.
Вам нужно проверить его самостоятельно.
Android: есть ли какие-либо хорошие решения для проверки Editboxes
аннулирование электронной почты