使用 C# 中的正则表达式操作检查 EditText 上的有效电子邮件 [关闭]

Posted

技术标签:

【中文标题】使用 C# 中的正则表达式操作检查 EditText 上的有效电子邮件 [关闭]【英文标题】:check valid E-mail on EditText with regex operation like in C# [closed] 【发布时间】:2014-10-27 19:50:49 【问题描述】:

你好,伙计们,An​​droid 支持像 C# 这样的正则表达式操作,或者它以不同的名称存在,如果它是,你能告诉我它是什么,我想做的是做正则表达式操作来检查这是否是 EditText 上的有效电子邮件?

【问题讨论】:

实际上我正在为此做一些研究,但找不到任何东西,如果你能告诉我我需要搜索的关键字,我是新的 android 开发人员 有很多答案,所有答案都有效吗? 好吧,这个which explains why not to use regex. 解释说,如果电子邮件地址是 user@gmail.com.nospam 正则表达式操作失败,则符合 RFC的相同正则表达式> 你可以参考这个textbox email address validation或者这个which explains why not to use regex. Android: How can I validate EditText input?的可能重复 【参考方案1】:
    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();
    

试试这个。将需要验证的字符串传递给 emailValidator 函数

        if(emailValidator(editText.toString()))
        
            Log.d("Success", "yes");
        

【讨论】:

不匹配 me@localhost【参考方案2】:

Android 提供内置的电子邮件模式匹配器,因此请使用它 此代码仔细检查空白电子邮件和电子邮件验证:) 简短而甜蜜

public boolean isValidEmail(CharSequence strEmail) 
    return !TextUtils.isEmpty(strEmail) && android.util.Patterns.EMAIL_ADDRESS.matcher(strEmail).matches();

【讨论】:

以上是关于使用 C# 中的正则表达式操作检查 EditText 上的有效电子邮件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

匹配c#中的正则表达式检查交叉连接查询

使用正则表达式从 C# 中的 SQL 语句中查找 SQL 函数

C#使用正则表达式检查字符串中重复出现的词

在 C# 中使用正则表达式匹配 a^n b^n c^n(例如“aaabbbccc”)

使用 C# 的正则表达式匹配(简单??)正则表达式

在C#中使用正则表达式筛选出图片URL并下载图片URL中的图片到本地