文本字段的条件验证

本文关键字:验证 条件 字段 文本 | 更新日期: 2023-09-27 18:00:48

我有一个文本字段,我想进行验证,验证它是否以0开头,长度将是10,否则将是13。

我想知道我是否可以在验证表达式中写,比如"^0…",而不是在函数中。

我希望你能帮助我。

我用ASP.NET C#编写代码。

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
   <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Text="dsg" ErrorMessage="RegularExpressionValidator" ValidationExpression="[^0]{0-10},[^1]{0-13}" ControlToValidate="TextBox1"></asp:RegularExpressionValidator>

这不管用,但我想要这样的东西。

文本字段的条件验证

您的正则表达式[^0]{0-10},[^1]{0-13}表示:

  • [^0]-匹配除0以外的任何内容(即使是逗号)
  • {0-10},-匹配文字字符串{0-10},(因为{...}中有连字符)
  • [^1]-匹配除1之外的任何内容
  • {0-13}-匹配文字{0-13}字符串

如果您计划只使用服务器端验证,则可以使用.NET正则表达式来验证

如果它以0开头,则长度为10,否则为13。:

^(0)?(?(1)'d{9}|'d{13})$

参见演示

如果您还计划在客户端使用它,您将需要一个JavaScript正则表达式风格,其中不能使用条件:

^(?:0'd{9}|'d{13})$

请参阅另一个演示

[^0]{0-10}表示从0到10个字符不等于0^在正则表达式的开头和后面没有相同的含义。

0开头的10个字符的字符串的正则表达式是^0.{9}$

另一个是CCD_ 16。

因此:^(0.{9}|[^0].{12})$