我有一个asp:textbox从用户处取得一个容器编号并验证它,我如何确保输入的字符串正好是11个字符,其中文本框输入控件(字符数,字符类型)
- 前4个字符都是普通英语字符
- 的第四字符必须是下列{U或J或Z}
- 其余(9个字符)中的一个是数字。
例> “CRLU123456789”
我有一个asp:textbox从用户处取得一个容器编号并验证它,我如何确保输入的字符串正好是11个字符,其中文本框输入控件(字符数,字符类型)
例> “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; }
,当你回来后会显示错误消息。
使用RegularExpressionValidator控件与此ValidationExpression:[a-zA-Z]{4}[ujzUJZ][0-9]{9}
你可以使用的RegularExpressionValidator和可有人为你煮了正则表达式吧。请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.regularexpressionvalidator.aspx – Yeronimo
我想过,但问题是我不能写它,我不好与RegularExpression – M009