数值的正则表达式模式,从9或8开始

时间:2017-12-15 12:18:10

标签: regex xsd

我需要你帮助形成XSD的正则表达式模式。

截至目前,在我的.net项目中,字段的输入可以是7位数,可以从0到9开始 或输入可以是8位数,不能以0开头。

我们正在使用

<xs:pattern value="[1-9]?[0-9]{7}" />

解决这种模式。

现在,根据新要求,我们必须进行修改,以便输入可以接受 不能以0或输入开头的8位数字可以是9位数,只能从1,2,3,4开始。

我试过

 <xs:pattern value="[1-4]?[1-9]?[0-9]{7}" />

但它给我的错误,而我使用100000000,200000000像值。 简而言之,它不接受第二名的0,这是由于错误的模式

你能指导我这件事。

1 个答案:

答案 0 :(得分:1)

  

我们必须进行修改,以便输入可以接受不能以0开头的8位数或输入可以是9位数,只能从1,2,3,4开始

您可以使用

value="[1-9][0-9]{7}|[1-4][0-9]{8}"

<强>详情

  • [1-9][0-9]{7} - 从19的数字,然后是任意7位
  • | - 或
  • [1-4][0-9]{8} - 从14的数字,然后是任意8位数字

默认情况下,XSD正则表达式模式是固定的,所以这应该足够了。