2009-02-11 8 views
7

क्या किसी को पता है कि रूबी में नियमित अभिव्यक्ति क्या है एक ईमेल पता सत्यापित करना उचित आरएफसी 2822 ईमेल प्रारूप में है?रूबी ईमेल चेक (आरएफसी 2822)

मुझे क्या करना चाहते हैं:

string.match(RFC_2822_REGEX) 

जहां "RFC_2822_REGEX" अगर मेरे स्ट्रिंग वैध आरएफसी 2882 रूप में है सत्यापित करने के लिए नियमित रूप से अभिव्यक्ति है।

+0

संभावित डुप्लिकेट [ईमेल पते को सत्यापित करने के लिए नियमित अभिव्यक्ति का उपयोग कैसे करें?] (Http://stackoverflow.com/questions/201323/how-to-use-a-regular-expression-to-validate-an -मेल पता) –

उत्तर

1
+0

यह REGEX "[email protected]/x.com" जैसे ईमेल के लिए अनुमति देता है और इसके लिए "test @ example /////////////////////// //////////x.com " –

2

this समान प्रश्न के उत्तर के आधार पर की कोशिश करो, तो आप इस के लिए regex का उपयोग कर पर पुनर्विचार कर सकते हैं।

2

http://theshed.hezmatt.org/email-address-validator

RFC2822 नियम (यह एक regex के एक राक्षस है, भी है) के आधार पर regex सत्यापन करता है, यह भी जांच कर सकते हैं कि डोमेन DNS में मान्य है, (एमएक्स या एक रिकॉर्ड है) और एक परीक्षण करना वितरण के लिए वितरण कि डोमेन के लिए एमएक्स दिए गए पते के लिए एक संदेश स्वीकार करेगा। ये अंतिम दो चेक वैकल्पिक हैं।

def valid_email(value) 
    begin 
    return false if value == '' 
    parsed = Mail::Address.new(value) 
    return parsed.address == value && parsed.local != parsed.address 
    rescue Mail::Field::ParseError 
    return false 
    end 
end 

यह जांच करता है कि ईमेल प्रदान की जाती है, यानी एक खाली पते के लिए false देता है और यह भी जाँच करता है पते में एक होता है:

12

तुम इतनी तरह RFC2822 के अनुसार किसी भी स्ट्रिंग पार्स करने mail मणि उपयोग कर सकते हैं डोमेन।

+0

यह आरएफसी 36 9 6 में सूचीबद्ध वैध ईमेल का विश्लेषण नहीं करता है, जिसमें" एबीसी \ @ डीफ़ @ example.com "शामिल है। :( – indirect

संबंधित मुद्दे