我有一个 asp:textbox 从用户那里获取容器编号并验证它,我如何确保输入的字符串正好是 11 个字符长
- 前4个字符为普通英文字符
- 第 4 个字符必须是以下之一 {U or J or Z}
- 剩下的(9 个字符)是数字。
示例>“CRLU123456789”
最佳答案
我建议您使用 RegularExpressionValidator
。它们很容易标记:
<asp:RegularExpressionValidator
ControlToValidate="NameOfTextBox" <!-- the input text box name -->
ValidationExpression="[a-zA-Z]{4}[UJZ]\d{9}"
ErrorMessage="Please enter a valid container number."
Display="Dynamic" <!-- this means it's display: none when no error -->
EnabledClientScript="true" <!-- this will perform JavaScript validation -->
runat="server" />
现在,如果启用了 EnabledClientScript="true"
,它实际上会使用 JavaScript 验证控件,但是因为您仍然不能依赖它,所以您也需要验证服务器端.因此,您要做的是单击按钮,在您希望进行验证的位置,第一个代码块应该是:
this.Validate(); // validates all Validators on the page
if (!this.IsValid) { return; }
当您回发时,将显示错误消息。
关于c# - 文本框输入控件(字符数、字符类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510730/