XSD 包含带有拉丁字符的电子邮件的字符串模式
XSD String pattern which inlcude email with Latin characters
<xsd:element name="MigrCustContactEmail" type="StringX50Email" minOccurs="0" maxOccurs="1"/>
<xsd:simpleType name="StringX50Email">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="50"/>
<xsd:pattern value="[A-Za-z0-9!#$%&'*+/=?^_`{|}~.\-]+[@][A-Za-z0-9.\-]+"/>
</xsd:restriction>
</xsd:simpleType>
它对于普通电子邮件工作正常,但是当它在 XML "groupesÖtoureiffel.paris@maill.com"
中出现这样的字符串时
它给出错误:
cvc-pattern-valid: 值 'groupes╓toureiffel.paris@mail.com' 对于模式 '[A-Za-z0-9!#$%&'*+/=?^_
{|}~.-]+[@][A-Za-z0-9.-]+' 无效对于类型 'StringX50Email'`
任何人都可以帮我改变模式吗?
你可以使用
<xsd:pattern value="[\p{L}0-9!#$%&'*+/=?^_`{|}~.-]+@[\p{L}0-9.-]+"/>
\p{L}
构造匹配任何 Unicode 字母。
详情:
[\p{L}0-9!#$%&'*+/=?^_`{|}~.-]+
- 一个或多个 Unicode 字母、ASCII 数字、!
、#
、$
、%
、&
、 '
、*
、+
、/
、=
、?
、^
、_
、`
、{
、|
、}
、~
、.
或 -
@
- 一个 @
字符
[\p{L}0-9.-]+
- 一个或多个 Unicode 字母、ASCII 数字、.
或 -
.
<xsd:element name="MigrCustContactEmail" type="StringX50Email" minOccurs="0" maxOccurs="1"/>
<xsd:simpleType name="StringX50Email">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="50"/>
<xsd:pattern value="[A-Za-z0-9!#$%&'*+/=?^_`{|}~.\-]+[@][A-Za-z0-9.\-]+"/>
</xsd:restriction>
</xsd:simpleType>
它对于普通电子邮件工作正常,但是当它在 XML "groupesÖtoureiffel.paris@maill.com"
中出现这样的字符串时它给出错误:
cvc-pattern-valid: 值 'groupes╓toureiffel.paris@mail.com' 对于模式 '[A-Za-z0-9!#$%&'*+/=?^_
{|}~.-]+[@][A-Za-z0-9.-]+' 无效对于类型 'StringX50Email'`
任何人都可以帮我改变模式吗?
你可以使用
<xsd:pattern value="[\p{L}0-9!#$%&'*+/=?^_`{|}~.-]+@[\p{L}0-9.-]+"/>
\p{L}
构造匹配任何 Unicode 字母。
详情:
[\p{L}0-9!#$%&'*+/=?^_`{|}~.-]+
- 一个或多个 Unicode 字母、ASCII 数字、!
、#
、$
、%
、&
、'
、*
、+
、/
、=
、?
、^
、_
、`
、{
、|
、}
、~
、.
或-
@
- 一个@
字符[\p{L}0-9.-]+
- 一个或多个 Unicode 字母、ASCII 数字、.
或-
.