如何使用XSLT 2.0验证电子邮件地址?

Mat*_*der 0 regex email xslt xslt-2.0

如何使用XSLT 2.0验证电子邮件地址?是否有预定义的方法,或者我必须构建正则表达式?

谢谢

Tim*_*m C 5

您可以在XSLT 2.0中执行此操作,但必须使用正则表达式(尽管编写实际上可以匹配所有可能的电子邮件地址的正则表达式是另一回事)。

如果使用正则表达式,则可以使用matchs函数检查字符串是否与电子邮件地址的正则表达式匹配(其中$ email是包含要验证的字符串的变量。或者,可以使用包含电子邮件的元素名称)地址)。

<xsl:if test="matches(upper-case($email),'^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$')">
   Valid
</xsl:if>
Run Code Online (Sandbox Code Playgroud)

请访问http://www.xml.com/pub/a/2003/06/04/tr.html,以获取有关正则表达式的信息。

请注意,此示例从http://www.regular-expressions.info/email.html获得了正则表达式。在这种情况下,假设它是大写的,因此在我的示例中使用了该函数。