Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查字符串是否仅包含字母-电子邮件验证_Java_Android_Arrays_Authentication - Fatal编程技术网

Java 检查字符串是否仅包含字母-电子邮件验证

Java 检查字符串是否仅包含字母-电子邮件验证,java,android,arrays,authentication,Java,Android,Arrays,Authentication,我是Android开发的新手。 在我的登录验证活动中,我希望对输入字段进行验证。 我希望“.”后面的字符仅为字母 ehsan@gmail.com 如果用户键入如下字符串:ehsan@gmail.23返回false并干杯。 我的代码是: String email = "ehsan@gmail.com"; String[] ar = email.split("."); if ( !ar[ar.length -1].matches("[a-z]") ){ Toast.make

我是Android开发的新手。 在我的登录验证活动中,我希望对输入字段进行验证。 我希望“.”后面的字符仅为字母

ehsan@gmail.com

如果用户键入如下字符串:ehsan@gmail.23返回false并干杯。 我的代码是:

String email = "ehsan@gmail.com";
String[] ar = email.split(".");

    if ( !ar[ar.length -1].matches("[a-z]") ){
        Toast.makeText(getApplicationContext(), "your email is invalid", Toast.LENGTH_LONG).show();
return false; }
当我运行此代码时,应用程序强制关闭。
怎么了?

我不太确定,但我想问题是字符@,它不在a-z区间。因此,试试看

!ar[ar.length -1].matches("[a-z@]")

另外,请记住,电子邮件可能包含其他特殊字符,如“uu”,例如

我不完全确定,但我认为问题在于字符@,它不在a-z间隔内。因此,试试看

!ar[ar.length -1].matches("[a-z@]")
另外,请记住,电子邮件可能包含其他特殊字符,例如“\”
email。匹配(“.+\\.[a-zA-Z]+”)
似乎可以完成这项工作。这不是世界上最复杂的正则表达式,但它很有效

valid@gmail.com
匹配。
invalid@gmail.a1b
不匹配。

email.matches(“.+\.[a-zA-Z]+”)
似乎可以完成这项工作。这不是世界上最复杂的正则表达式,但它很有效

valid@gmail.com
匹配。
invalid@gmail.a1b
不匹配。

请使用
模式
类验证电子邮件地址:

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

请使用
模式
类验证电子邮件地址:

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

您可能应该同时使用来匹配/验证整个电子邮件地址。我已经根据您的要求提供了答案,但坦率地说,在线上有一百万个regex示例可用于验证电子邮件。不要重新发明轮子,除非你是按小时付费的。你可能应该同时使用匹配/验证整个电子邮件地址。我已经根据你的提问给出了答案,但坦率地说,网上有一百万个regex示例可用于验证电子邮件。除非你是按小时计酬的,否则不要重新发明轮子。这是Android特有的课程吗?JDK中没有
Patterns
类。您必须导入
android.util.Patterns
所以,我的问题的答案是“是的,
Patterns
是一个特定于android的类”这是一个特定于android的类吗?JDK中没有
Patterns
类。您必须导入
android.util.Patterns
因此,我的问题的答案是“是的,
Patterns
是一个特定于android的类”