[英]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.