2010-01-27 17 views
12

में ईमेल आईडी को कैसे सत्यापित करें हाय मैंने ईमेल आईडी की जांच करने के लिए एक स्कीमा बनाया है। जो सत्यापित कर सकता है कि ईमेल आईडी [email protected] और [email protected] और [email protected] है लेकिन मैं केवल [email protected] और [email protected] को सत्यापित करना चाहता हूं। में क्योंकि मुझे लगता है कि ईमेल @ प्रतीक के बाद अधिकतम 2 डॉट्स हो सकता है तो तीसरा अमान्य ईमेल आईडी हो जाएगा तो कैसे स्कीमा नीचे का उपयोग कर स्कीमाxml स्कीमा

<xsd:element name="SSEM" minOccurs="0"> 
    <xsd:complexType> 
     <xsd:sequence> 
      <xsd:element name="CNT" minOccurs="0" maxOccurs="unbounded"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="EM" minOccurs="1" nillable="true" type ="singleEmailID"/> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
     </xsd:sequence> 
    </xsd:complexType> 
</xsd:element> 

होने पर ईमेल आईडी को सत्यापित कर

धन्यवाद सुनील कुमार साहू

+1

'क्योंकि मुझे लगता है कि ईमेल @ symbol' के बाद अधिकतम 2 डॉट्स हो सकता है। शायद अनुमान लगाने और मनमाने ढंग से सत्यापन में विफल होने के बजाय प्रासंगिक आरएफसी पढ़ें? 'abc @ 10.0.0.0' एक पूरी तरह से मान्य ई-मेल भी है। http://davidcel.is/posts/stop-validating-email-addresses-with-regex/ –

उत्तर

29

आपको वैध ई-मेल के खिलाफ मिलान करने के लिए एक पैटर्न को परिभाषित करने की आवश्यकता होगी। नियमित अभिव्यक्ति वाक्यविन्यास का उपयोग करके पैटर्न परिभाषित किए जाते हैं। एक बार जब आप उचित पैटर्न के साथ एक साधारण प्रकार (xs:string पर आधारित) परिभाषित कर लेंगे, तो आप इसे अपने ई-मेल प्रकार के लिए उपयोग कर सकते हैं।

इंटरनेट पर कई जगहें हैं जो इस तरह के प्रकार और पैटर्न के कुछ उदाहरण प्रदान करती हैं। ई-मेल प्रकार का एक उदाहरण here प्रदान किया गया है।

उदाहरण दिया है इस प्रकार है (मैं इसे थोड़ा बातें एक छोटे से स्पष्ट करने के संपादित किया है): आप एक <xs:simpleType> एक स्ट्रिंग पर और एक regex पैटर्न के साथ आधारित इस्तेमाल कर सकते हैं मान्य करने के लिए

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > 

    <xsd:element name="A" type="emailAddress"/> 

    <xsd:simpleType name="emailAddress"> 
    <xsd:restriction base="xsd:string"> 
     <xsd:pattern value="[^@][email protected][^\.]+\..+"/> 
    </xsd:restriction> 
    </xsd:simpleType> 
</xsd:schema> 
+0

आप केवल def.com चाहते हैं और def.co.in आप इस अभिव्यक्ति एक छोटे से साथ खेलने चाहिए। –

+0

यूप, सबसे निश्चित रूप से। –

6

अपने ई-मेल पते:

<xsd:simpleType name="emailAddress"> 
    <xsd:restriction base="xsd:string"> 
     <xsd:pattern value="([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})"/> 
    </xsd:restriction> 
</xsd:simpleType> 

उपयोग किसी भी ई-मेल regex आप :-) पसंद है, RegexLib.Net पर कुछ नमूने देखें।

फिर, अपने बुनियादी XML स्कीमा में उस प्रकार का उपयोग करें: https://www.corefiling.com/opensource/schemaValidate.html

+6

अन्य RegEx पुस्तकालयों के विपरीत, एक्सएमएल स्कीमा पैटर्न^के साथ शुरू नहीं होते हैं और एक $ के साथ समाप्त होते हैं। यह परमाणु तारों में निहित है। –

1

उपयोग ईमेल आईडी सत्यापन

<xsd:simpleType name="emailAddress"> 
    <xsd:restriction base="xsd:string"> 
     <xsd:pattern value="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/> 
    </xsd:restriction> 
</xsd:simpleType> 
0

के लिए नीचे दिए गए स्कीमा सत्यापनकर्ता:

<xsd:element name="email" type="emailAddress" /> 

ऑनलाइन सत्यापनकर्ता द्वारा जाँच द्वारा किया जा सका एस्ट्रोफ़े के साथ ईमेल सत्यापन के लिए इस सत्यापनकर्ता का भी उपयोग करें:

<xsd:simpleType name="emailAddress"> 
    <xsd:restriction base="xsd:string"> 
     <xsd:pattern value="^([0-9a-zA-Z_\.\'\-]+)*@[0-9a-zA-Z\-]+[a-zA-Z\.]+Dollar symbol"/> 
    </xsd:restriction> 
</xsd:simpleType> 

यह apostrophe के साथ ईमेल सत्यापन के रूप में काम करेंगे :-)

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