Проверка адреса электронной почты в Android на EditText

Как мы можем выполнить проверку Email Validation на edittext в android ? Я прошел через google & SO, но я не нашел простой способ проверить его.

 public static boolean isValidEmail(CharSequence target) { return (!TextUtils.isEmpty(target) && Patterns.EMAIL_ADDRESS.matcher(target).matches()); } 

Изменить :: Он будет работать на Android 2.2 и более! Изменить: добавлено отсутствующее;

Для выполнения проверки электронной почты у нас есть много способов, но простой и простой способ – это два метода .

1- Использование EditText(....).addTextChangedListener который запускает триггер на каждом входе в поле EditText box т. Е. Адрес электронной почты недействителен или действителен

 /** * Email Validation ex:- [email protected] */ final EditText emailValidate = (EditText)findViewById(R.id.textMessage); final TextView textView = (TextView)findViewById(R.id.text); String email = emailValidate.getText().toString().trim(); String emailPattern = "[a-zA-Z0-9._-][email protected][az]+\\.+[az]+"; emailValidate .addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { if (email.matches(emailPattern) && s.length() > 0) { Toast.makeText(getApplicationContext(),"valid email address",Toast.LENGTH_SHORT).show(); // or textView.setText("valid email"); } else { Toast.makeText(getApplicationContext(),"Invalid email address",Toast.LENGTH_SHORT).show(); //or textView.setText("invalid email"); } } public void beforeTextChanged(CharSequence s, int start, int count, int after) { // other stuffs } public void onTextChanged(CharSequence s, int start, int before, int count) { // other stuffs } }); 

2- Простейший метод с использованием условия if-else . Возьмите строку EditText с помощью getText () и сравните с шаблоном, предоставленным для электронной почты. Если шаблон не соответствует или имеет значение, onClick кнопки toast сообщение. Он не будет запускаться при каждом вводе символа в поле EditText. простой пример, показанный ниже.

 final EditText emailValidate = (EditText)findViewById(R.id.textMessage); final TextView textView = (TextView)findViewById(R.id.text); String email = emailValidate.getText().toString().trim(); String emailPattern = "[a-zA-Z0-9._-][email protected][az]+\\.+[az]+"; // onClick of button perform this simplest code. if (email.matches(emailPattern)) { Toast.makeText(getApplicationContext(),"valid email address",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(),"Invalid email address", Toast.LENGTH_SHORT).show(); } 

Используйте этот метод для проверки формата электронной почты. Передайте email как строку, он вернет true, если формат верен, иначе false.

 /** * validate your email address format. [email protected] */ public boolean emailValidator(String email) { Pattern pattern; Matcher matcher; final String EMAIL_PATTERN = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; pattern = Pattern.compile(EMAIL_PATTERN); matcher = pattern.matcher(email); return matcher.matches(); } 

Это слишком легко:

Добавьте этот метод, чтобы проверить, действителен ли адрес электронной почты :

 private boolean isValidEmaillId(String email){ return Pattern.compile("^(([\\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})$").matcher(email).matches(); } 

Теперь проверьте с помощью String EditText :

 if(isValidEmaillId(edtEmailId.getText().toString().trim())){ Toast.makeText(getApplicationContext(), "Valid Email Address.", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(getApplicationContext(), "InValid Email Address.", Toast.LENGTH_SHORT).show(); } 

Готово

Попробуй это:

 if (!emailRegistration.matches("[a-zA-Z0-9._-][email protected][az]+.[az]+")) { editTextEmail.setError("Invalid Email Address"); } 

Используйте этот метод для проверки EMAIL: –

  public static boolean isEditTextContainEmail(EditText argEditText) { try { Pattern pattern = Pattern.compile("^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"); Matcher matcher = pattern.matcher(argEditText.getText()); return matcher.matches(); } catch (Exception e) { e.printStackTrace(); return false; } } 

Дайте мне знать, если у вас есть какие-либо вопросы?

 public static boolean isEmailValid(String email) { boolean isValid = false; String expression = "^[\\w\\.-][email protected]([\\w\\-]+\\.)+[AZ]{2,4}$"; CharSequence inputStr = email; Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(inputStr); if (matcher.matches()) { isValid = true; } return isValid; } 

Это пример метода, который я создал для проверки адресов электронной почты, если переданный строковый параметр является допустимым адресом электронной почты, он возвращает true, иначе возвращается false.

 private boolean validateEmailAddress(String emailAddress){ String expression="^[\\w\\-]([\\.\\w])+[\\w][email protected]([\\w\\-]+\\.)+[AZ]{2,4}$"; CharSequence inputStr = emailAddress; Pattern pattern = Pattern.compile(expression,Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(inputStr); return matcher.matches(); } 

попробуй это

 public static final Pattern EMAIL_ADDRESS_PATTERN = Pattern.compile( "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" + "\\@" + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" + "(" + "\\." + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + ")+" ); . public static final Pattern EMAIL_ADDRESS_PATTERN = Pattern.compile( "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" + "\\@" + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" + "(" + "\\." + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + ")+" ); 

и в редактировании текста

 final String emailText = email.getText().toString(); EMAIL_ADDRESS_PATTERN.matcher(emailText).matches() 
  • Какие символы разрешены в адресе электронной почты?
  • Отправить электронное письмо с триггера
  • Как отправить электронное письмо с терминала?
  • Interesting Posts

    Каков наиболее эффективный / быстрый способ циклического преобразования строк в VBA (excel)?

    Что эквивалентно C ++ Pair в Java?

    DependencyProperty getter / setter не вызывается

    Имитировать низкий уровень заряда аккумулятора и низкую память в Android

    Как легко редактировать файл управления в пакете deb

    java чтение файла с сетевого устройства

    Как использовать gntp-send?

    Как получить доступ к элементу управления из статического метода?

    C / C ++: переключатель для нецелых чисел

    Как использовать собственный шрифт в проекте, написанном в Android Studio

    Преобразование целых чисел в строки для создания выходных имен файлов во время выполнения

    Проверить скрипт оболочки, если удаленный TCP-порт открыт

    Добавление элементов в xml-файл в C #

    Быстрый способ узнать, установлено ли установленное приложение 64-разрядной или 32-разрядной

    String Ресурс новой строки / n невозможен?

    Давайте будем гением компьютера.