sql >> Database >  >> RDS >> PostgreSQL

Postgres-functie om e-mailadres te valideren

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.



  1. NEXT_DAY() Functie in Oracle

  2. Hoe een localhost-database maken met mysql?

  3. Forceer exacte string MATCH voor PDO voorbereide statements

  4. Sorteren/bestellen in MySQL