【问题标题】:Schema validation for an optional field which accepts numbers or empty string接受数字或空字符串的可选字段的模式验证
【发布时间】:2016-09-21 05:34:34
【问题描述】:

我之前有一个必填字段,我使用架构验证作为[0-9]{1,14} 只接受数字。

现在,我已经将相同的字段设置为可选字段,我想要一个接受 NUMBERS 以及 EMPTY STRING ("") 或 WHITESPACE ONLY 字符串的架构验证。

我应该在 .XSD 中使用什么架构验证?

【问题讨论】:

  • 使用:- [0-9]{0,14}..还有一件事,试着理解你正在使用的正则表达式..不要盲目复制它
  • @rock321987 现在,在我按照你所说的进行更改后,我完全理解它并且它也能正常工作。非常感谢。
  • @rock321987 如果我希望它接受空格以及数字和空字符串,请给我打电话,我需要做些什么更改?

标签: regex xsd xsd-validation


【解决方案1】:

将 1 替换为 0。

"[0-9]{0,14}"

{0,14} 重复前一个令牌从 0 到 14 次。

【讨论】:

  • 非常感谢,它正在工作...如果我希望它也接受空白,请告诉我,我必须做些什么改变?
  • "[0-9 ]{0,14}""[0-9\\s]{0,14}"
【解决方案2】:

您可以使用如下替代:

(\d{1,14}|\s*)

regex demo

这将允许 1 到 14 位数字或空/仅空白字符串(\s* 匹配 0 个或更多空白字符)。

由于默认情况下 XSD 正则表达式模式是锚定的(即整个模式都包含在 ^()$ 中)您可以只使用

\d{1,14}|\s*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 2011-06-28
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多