Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / Web Development / Java / Regex for valid email address excluding specific domain

Regex for valid email address excluding specific domain

Xin chào các bạn, hôm nay Ngô Tôn .IT gửi tới các bạn bài viết có tên Regex for valid email address excluding specific domain (mình cũng không biết dịch ra Tiếng Việt sao cho hay nên mình để nguyên Tiếng Anh cho dễ hiểu 🙂 ). Cụ thể là, mình sẽ validate địa chỉ email và loại trừ ra một số domain như là Gmail chẳng hạn.

Trong bài viết này, mình sử dụng Spring Boot các bạn cũng có thể áp dụng regex này ở các ngôn ngữ khác.

Regex (hay Regular Expression) là gì?

Cách đây cũng khá lâu mình có viết một bài Regular Expression trong JavaScript, và mình cũng có giới thiệu sơ qua nội dung Regex là gì. Các bạn có thể vào đọc lại nhé!

Regex for valid email address excluding specific domain in Spring Boot

Trong Java Spring Boot, để validate 1 object chúng ta thường dùng javax.validation hoặc org.hibernate.validator

Ví dụ:

Với @Email annotation là chúng ta có thể validate được một địa chỉ email bất kì có hợp lệ hay không.

Và bây giờ, với yêu cầu chúng ta cần chấp nhận hết các địa chỉ email hợp lệ và loại trừ ra các địa chỉ email của Gmail, như là gmail.com, gmail.com.vn,…

Chúng ta cần tạo một pattern để thực hiện việc validate.

Regex chúng ta sẽ viết như sau:

Sau đó, chúng ta thêm vào pattern

Pattern chúng ta sẽ viết như sau: “chuỗi bất kỳ”@(“ngoại trừ domain”) “domain còn lại”

Ở đây, chúng ta chỉ cần dùng phép phủ định trong RegEx là (?![domain])

Chúng ta cũng cần loại trừ các phần tên miền theo quốc gia, ta sẽ thêm vào một optional (?:)?

Vậy là xong, các bạn hãy chạy thử xem sao nhé!

About ngoton

Ngô Tôn is a programmer with passion for tailored software solutions. Comes with 7+ years of IT experience, to execute beautiful front-end experiences with secure and robust back-end solutions.

Check Also

Tạo danh sách ngày từ 2 ngày cho trước bằng Stream trong Java

Mục lục Stream là gì?Tạo danh sách ngày từ 2 ngày cho trước bằng StreamBài …

Leave a Reply

avatar
  Subscribe  
Notify of