Een aantal van deze antwoorden zijn dichtbij naar de goede weg. Dit zijn de punten voor mijn inzending.
- U wilt een domein gebruiken -- NIET het regelsysteem.
- U wilt deze e-mailadressen NIET valideren met een regex. (Update maart 2017:niet echt meer waar)
Ik laat twee methoden zien om dit recht te doen op DBA.StackExchange.com . Zowel om te controleren op het MX-record, als ook om de HTML5-specificatie te gebruiken. Hier is het kort en krachtig.
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);
Voor meer informatie ik zeer stel voor dat je het antwoord volledig leest
. In het antwoord Ik laat ook zien hoe je een DOMAIN
. maakt via Email::Valid
, en leg uit waarom ik die methode niet meer gebruik.