使用正则表达式在Java中验证有效的电子邮件地址
要验证给定的输入字符串是否是有效的电子邮件地址,请将其与以下正则表达式匹配: regular expression 来匹配电子邮件地址 –
"^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$"
在这里,
-
^
表示句子的开头。 -
[a-zA-Z0-9+_.-]
匹配@符号之前的一个字符,可以是英文字母(大小写都可以)、数字、加号、下划线、句点和减号。 -
+
表示上述字符集合的重复出现一次或多次。 -
@
匹配它本身。 -
[a-zA-Z0-9.-]
匹配@符号之后的一个字符,可以是英文字母(大小写都可以)、数字、句点和短横线。 -
$
表示句子的结尾。
示例
import java.util.Scanner;
public class ValidatingEmail {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your Email: ");
String phone = sc.next();
String regex = "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$";
//Matching the given phone number with regular expression
boolean result = phone.matches(regex);
if(result) {
System.out.println("Given email-id is valid");
} else {
System.out.println("Given email-id is not valid");
}
}
}
输出 1
Enter your Email:
example.samplemail@gmail.com
Given email-id is valid
输出 2
Enter your Email:
sample?examplemail@gmail.com
Given email-id is not valid
示例2
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = sc.nextLine();
System.out.println("Enter your email id: ");
String phone = sc.next();
//Regular expression to accept valid email id
String regex = "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$";
//Creating a pattern object
Pattern pattern = Pattern.compile(regex);
//Creating a Matcher object
Matcher matcher = pattern.matcher(phone);
//Verifying whether given phone number is valid
if(matcher.matches()) {
System.out.println("Given email id is valid");
} else {
System.out.println("Given email id is not valid");
}
}
}
输出1
Enter your name:
vagdevi
Enter your email id:
sample.123@gmail.com
Given email id is valid
输出 2
Enter your name:
raja
Enter your email id:
raja$test@gmail.com
Given email id is not valid