繁体   English   中英

使用正则表达式的Android电子邮件验证不起作用

[英]Android email validation with regular expression not working

我有一个用于验证电子邮件的正则表达式,当我运行它时,它会不断告诉我该电子邮件地址无效,但该电子邮件是正确的

email = (EditText) findViewById(R.id.email);   

final String Email = email.getText().toString();

if (!Email.matches("^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$"))
     {
         email.requestFocus();
         email.setError("INVALID EMAIL ADDRESS");
     }

有谁知道它会给我错误,即使它是正确的?

试试这个吧。 这应该删除电子邮件后的所有隐藏空格/字符。

Email.matches
    ("([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5}).*"))

根据http://developer.android.com/reference/java/lang/String.html

公共布尔匹配(字符串regularExpression)

在API级别1中添加测试该字符串是否与给定的regularExpression相匹配。 仅当正则表达式匹配整个输入字符串时,此方法才返回true。 一个常见的错误是假定此方法的行为类似于contains(CharSequence);。 如果要匹配输入字符串中的任何位置,则需要在正则表达式的开头和结尾添加。*。 参见matchs(String,CharSequence)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM