Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Kiểm tra địa chỉ email hợp lệ bằng biểu thức chính quy trong Java

Để 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ệ