02/10/2018, 00:17

[DATABASE] Hướng dẫn sử dụng Regex trong Sqlserver để Validate email

Xin chào, các bạn bài viết hôm nay mình sẽ hướng dẫn các bạn cách kiểm tra một địa chỉ email có hợp lệ hay không (validate email)? Mình sẽ hướng dẫn các bạn sử dụng Regex (Regular Expression) để tạo biểu thức chính quy và áp dụng vào câu lệnh Like ...

Xin chào, các bạn bài viết hôm nay mình sẽ hướng dẫn các bạn cách kiểm tra một địa chỉ email có hợp lệ hay không (validate email)?

Mình sẽ hướng dẫn các bạn sử dụng Regex (Regular Expression) để tạo biểu thức chính quy và áp dụng vào câu lệnh Like để, xem địa chỉ email có chính xác không nhé.

Đầu tiên, các bạn chạy đoạn lệnh sqlserver dưới để tạo bảng dữ liệu demo:

CREATE TABLE tbl_email(
   email NVARCHAR(100)
)
 

INSERT INTO tbl_email
VALUES ('2017-01-01 03:01:30.700')
   , (N'Nguyễn Thảo')
   , (N'Lập trình vb.net')
   , ('nguyenthao_it@hotmail.com.vn')
   , ('vimotnguoiradi@gmail.com')
   , ('chayngaydi@sontung.vn')
   , (N'Nhật Tinh Anh')
   , (N'Ưng Hoàng Phúc')
   , ('12345678')

=> Sau khi chạy câu lệnh trên chúng ta sẽ có bảng table như hình bên dưới:

sử dụng regex trong sqlserver

+ Và công việc bây giờ là mình sẽ sử dụng Regex để truy vấn ra địa chỉ email mà thôi.

- Các bạn nhìn thấy 1 địa chỉ email thường đúng cấu trúc là: [A-Za-z0-9] @ và tên domain.

Bạn nào chưa biết sử dụng các từ khóa trong Regex, có thể tìm đọc bài Regex trên trang của mình nhé.

Vậy bây giờ chúng ta sẽ truy vấn như sau:

 SELECT *
FROM dbo.tbl_email
WHERE email LIKE '%[A-Z0-9][@][A-Z0-9]%[.][A-Z0-9]%'  

=> Kết quả như chúng ta mong đợi

sử dụng regex sqlserver

HAVE FUN heart

Tags: emailregular expressionregex
0