Sun*_*hoo 13 xml email validation schema
嗨,我已经创建了一个模式来检查电子邮件ID.这可以验证电子邮件ID是否为abc@def.com和adbc@def.co.in以及abc@def.co.in.pune但我想仅验证abc@def.com和adbc@def.co.in因为我认为电子邮件在@符号后最多可以有2个点,所以第三个将是无效的电子邮件ID所以如何使用模式验证电子邮件ID下面是模式
<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>
Run Code Online (Sandbox Code Playgroud)
谢谢Sunil Kumar Sahoo
Jef*_*tes 31
您需要定义一个模式以匹配有效的电子邮件.使用正则表达式语法定义模式.一旦xs:string使用适当的模式定义了一个简单类型(基于),就可以将其用于您的电子邮件类型.
互联网上有几个地方提供了这种类型和模式的一些例子.这里提供了电子邮件类型的示例.
给出的例子如下(我稍微编辑了一下以使事情变得更清晰):
<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>
Run Code Online (Sandbox Code Playgroud)
您可以使用<xs:simpleType>基于字符串和正则表达式模式来验证您的电子邮件地址:
<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>
Run Code Online (Sandbox Code Playgroud)
使用您喜欢的任何电子邮件正则表达式:-),请参阅RegexLib.Net上的一些示例.
然后,在基本XML模式中使用该类型:
<xsd:element name="email" type="emailAddress" />
Run Code Online (Sandbox Code Playgroud)
可以通过在线验证器检查:https://www.corefiling.com/opensource/schemaValidate.html