Để xác minh xem chuỗi đầu vào có phải là địa chỉ email hợp lệ hay không, hãy khớp nó với biểu thức chính quy sau:
"^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$"
Trong đó:
^khớp với đầu chuỗi.[a-zA-Z0-9+_.-]khớp với một ký tự từ bảng chữ cái tiếng Anh (cả hai trường hợp), chữ số,+,_,.và-trước ký hiệu@.+chỉ ra sự lặp lại của tập ký tự trên một hoặc nhiều lần.@khớp chính với nó.[a-zA-Z0-9.-]khớp với một ký tự từ bảng chữ cái tiếng Anh (cả hai trường hợp), chữ số,.và-sau ký hiệu@.$chỉ ra kết thúc chuỗi.
Ví dụ 1: Sử dụng String.matches()
import java.util.Scanner;
public class ValidatingEmail {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Nhập email của bạn:");
String email = sc.next();
String regex = "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$";
// Khớp email với biểu thức chính quy
boolean result = email.matches(regex);
if (result) {
System.out.println("Email đã cho là hợp lệ");
} else {
System.out.println("Email đã cho không hợp lệ");
}
}
}
Kết quả 1
Nhập email của bạn: example.samplemail@gmail.com Email đã cho là hợp lệ
Kết quả 2
Nhập email của bạn: sample?examplemail@gmail.com Email đã cho không hợp lệ
Ví dụ 2: Sử dụng Pattern và Matcher
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("Nhập tên của bạn:");
String name = sc.nextLine();
System.out.println("Nhập email của bạn:");
String email = sc.next();
String regex = "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(email);
if (matcher.matches()) {
System.out.println("Email đã cho là hợp lệ");
} else {
System.out.println("Email đã cho không hợp lệ");
}
}
}
Kết quả 1
Nhập tên của bạn: vagdevi Nhập email của bạn: sample.123@gmail.com Email đã cho là hợp lệ
Kết quả 2
Nhập tên của bạn: raja Nhập email của bạn: raja$test@gmail.com Email đã cho không hợp lệ