EditText 上的 Android 电子邮件验证

标签 android android-edittext email-validation

我有一个编辑文本,我想在我的 Editttext 中编写电子邮件验证 这是一个xml代码

<EditText
        android:id="@+id/mail"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_alignLeft="@+id/phone"
        android:layout_below="@+id/phone"
        android:layout_marginRight="33dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/edit_background"
        android:ems="10"
        android:hint="E-Mail"
        android:inputType="textEmailAddress"
        android:paddingLeft="20dp"
        android:textColor="#7e7e7e"
        android:textColorHint="#7e7e7e" >
</EditText>

这是一个java代码

emailInput = mail.getText().toString().trim();

emailPattern = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

if (emailInput.matches(emailPattern)) {
    Toast.makeText(getActivity(), "valid email address", Toast.LENGTH_SHORT).show();
} else {
    Toast.makeText(getActivity(), "Invalid email address", Toast.LENGTH_SHORT).show();
    mail.setBackgroundResource(R.drawable.edit_red_line);
}

我无法验证。 Toast 消息始终是“无效的电子邮件地址”。 我做错了什么?

最佳答案

为什么不使用:

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

如建议 here .

关于EditText 上的 Android 电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24969894/

相关文章:

android - 后退按钮不起作用

java - 错误 : Target id is not valid.

android - 如何通过一个方法更新整个 kotlin 类中的 var,然后使用另一个方法调用检索它更新

android - 更改文本时,带有 "text"inputType 的 EditText 不会隐藏错误弹出窗口

android - 把 EditText 像 iPhone UITextField

javascript - 检查电子邮件在 Google Apps 脚本中是否有效

android - 插页式广告显示黑色 (->) AFMA_ReceiveMessage 未定义 ( :1)

java - 自定义功能: Add Specific Symbol While Typing Into Edittext

sql-server - TSQL 电子邮件验证(无正则表达式)

php - 为电子邮件确认生成确认码