xml - 如何验证 xml 模式中的电子邮件 ID

标签 xml validation email 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>

谢谢 苏尼尔·库马尔·萨胡

最佳答案

您需要定义一个模式来匹配有效的电子邮件。模式是使用正则表达式语法定义的。一旦您用适当的模式定义了一个简单类型(基于 xs:string),您就可以将它用于您的电子邮件类型。

Internet 上有几个地方提供了此类类型和模式的一些示例。提供了电子邮件类型的示例 here .

给出的示例如下(我稍微编辑了一下,使事情更清楚一点):

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

关于xml - 如何验证 xml 模式中的电子邮件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2147780/

相关文章:

java - Jackson FasterXML POJO 到 XML 列表

php - Laravel - 自定义请求中的关联数组验证

python - 如何在函数内部调用函数?Odoo9 验证

php - codeigniter 电子邮件功能 smtp 错误

php - 使用 localhost 作为服务器时在 php 中注册时的电子邮件确认

xml - 解析xml中的重复字段

c# - 从节点列表中获取节点列表 c# .net

xml - 我的 XSLT 中有什么错误?

php - 清理之前验证用户输入?

email - 最佳实践 : Sending email on behalf of users