How to validate an email id in xml schema

前端 未结 4 1782
春和景丽
春和景丽 2020-12-28 19:33

Hi I have created a schema to check for email id. which can validate if the email id is abc@def.com and adbc@def.co.in and abc@def.co.in.pune But i want to validate only ab

相关标签:
4条回答
  • 2020-12-28 20:03

    Use this validator for email validation with apostrophe also:

    <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>
    

    It will work as email validation with apostrophe:-)

    0 讨论(0)
  • 2020-12-28 20:04

    You could use a <xs:simpleType> based on a string and with a regex pattern to validate your e-mail addresses:

    <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>
    

    Use any e-mail regex you like :-), see some samples on RegexLib.Net.

    Then, use that type in your basic XML schema:

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

    Could by checked by online validator: https://www.corefiling.com/opensource/schemaValidate.html

    0 讨论(0)
  • 2020-12-28 20:15

    Use the below schema validator for email id validation

    <xsd:simpleType name="emailAddress">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>
        </xsd:restriction>
    </xsd:simpleType>
    
    0 讨论(0)
  • 2020-12-28 20:22

    You will need to define a pattern to match against valid e-mails. Patterns are defined using regular expression syntax. Once you have defined a simple type (based on xs:string) with the appropriate pattern, you can use that for your e-mail type.

    There are several places on the Internet that provide some examples of such types and patterns. An example of an e-mail type is provided here.

    The example given there is as follows (I've edited it slightly to make things a little clearer):

    <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="[^@]+@[^\.]+\..+"/> 
        </xsd:restriction> 
      </xsd:simpleType> 
    </xsd:schema>
    
    0 讨论(0)
提交回复
热议问题