3

我需要强制执行 LASTNAME/FIRSTNAME 模式,例如 Smith/John。

字符可以是字母数字(小写/大写),还包括特殊字符,如 ë 等。

图案:

 <xsd:pattern value="[a-zA-Z0-9]/[a-zA-Z0-9]"/>

基本上规则将是 - 斜线之前的任何内容 - 斜杠之后的任何内容 - 不应允许使用“/John”、“John/”等模式

提前致谢。

4

2 回答 2

2

ASCII

假设您不希望名称中出现数字:

        <xs:pattern value="[a-zA-Z]+/[a-zA-Z]+"/>

如果您真的想接受名称中的数字:

        <xs:pattern value="[a-zA-Z0-9]+/[a-zA-Z0-9]+"/>

请注意0/0,例如,在这种情况下是有效的。

统一码

        <xs:pattern value="\p{L}+/\p{L}+"/>

解释\p{L}匹配字母类别中的 Unicode 代码点。

于 2014-10-03T11:43:22.470 回答
1

你的限制应该是这个..

<xs:pattern value="(([a-zA-Z0-9])*)([/])(([a-zA-Z0-9])*)"/>

我通过XMLSpear验证了这个模式

于 2014-10-03T10:44:05.953 回答