PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Функция на Postgres за валидиране на имейл адрес

Няколко от тези отговори са близки към правилния път. Това са точките за моето представяне.

  • Искате да използвате домейн -- НЕ системата от правила.
  • Вие НЕ искате да потвърждавате тези имейл адреси с регулярен израз. (Актуализация от март 2017 г.:вече не е вярно)

Показвам два метода как да направите това правилно на DBA.StackExchange.com . Както за проверка за MX-запис, така и за използване на спецификацията HTML5. Ето го краткото и сладко.

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);

За повече информация силно предлагам ви да прочетете отговора изцяло . В отговора показвам също как създавате DOMAIN през Email::Valid и обяснете защо вече не използвам този метод.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изтриванията на PostgresSql 9.6 изведнъж станаха бавни

  2. Psql COPY с ограничение е неуспешно

  3. Инсталиране на postgresql с NSIS

  4. Обединете редове postgres и заменете стойностите с най-новите, когато не са null

  5. Хибернация + PostgreSQL + Тип мрежов адрес (inet, cdir)