इन उत्तरों का एक समूह है करीब सही तरीके से। मेरे सबमिशन के लिए ये बिंदु हैं।
- आप एक डोमेन का उपयोग करना चाहते हैं -- नियम प्रणाली नहीं।
- आप इन ईमेल पतों को रेगेक्स से सत्यापित नहीं करना चाहते हैं। (अपडेट मार्च 2017:अब वास्तव में सच नहीं है)
मैं इसे DBA.StackExchange.com पर सही तरीके से करने के दो तरीके दिखाता हूं . दोनों एमएक्स-रिकॉर्ड की जांच करने के लिए, और एचटीएमएल 5 स्पेक का उपयोग करने के लिए भी। ये रहा शॉर्ट एंड स्वीट।
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
, और समझाएं कि मैं अब उस पद्धति का उपयोग क्यों नहीं करता।