PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chức năng Postgres để xác thực địa chỉ email

Một loạt các câu trả lời này là gần đúng cách. Đây là những điểm cho bài nộp của tôi.

  • Bạn muốn sử dụng miền - KHÔNG PHẢI là hệ thống quy tắc.
  • Bạn KHÔNG muốn xác thực các địa chỉ email này bằng regex. (Cập nhật tháng 3 năm 2017:không còn đúng nữa)

Tôi hiển thị hai phương pháp về cách thực hiện điều này ngay trên DBA.StackExchange.com . Cả hai để kiểm tra bản ghi MX và cũng sử dụng thông số kỹ thuật HTML5. Đây là đoạn ngắn và ngọt ngào.

CREATE EXTENSION citext;
CREATE DOMAIN email AS citext
  CHECK ( value ~ '^[a-zA-Z0-9.!#$%&''*+/=?^_`{|}~-][email protected][a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$' );

SELECT '[email protected]'::email;
SELECT CAST('[email protected]' AS email);

Để biết thêm thông tin, tôi rất đề nghị bạn đọc đầy đủ câu trả lời . Trong câu trả lời, Tôi cũng chỉ cách bạn tạo DOMAIN qua Email::Valid và giải thích lý do tại sao tôi không sử dụng phương pháp đó nữa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khóa hàng SQLAlchemy with_for_update không hoạt động?

  2. Elegant PostgreSQL Group của Ruby on Rails / ActiveRecord

  3. psycopg2.OperationalError:FATAL:giao thức frontend không được hỗ trợ 1234.5679:máy chủ hỗ trợ từ 2.0 đến 3.0

  4. Postgresql Chọn các hàng có cột =mảng

  5. Làm thế nào để chỉ trả lại thời gian làm việc từ các đặt chỗ trong PostgreSql?