文本字段的条件验证
本文关键字:验证 条件 字段 文本 | 更新日期: 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})$