2013-08-29 36 views
1

我有一个asp:textbox从用户处取得一个容器编号并验证它,我如何确保输入的字符串正好是11个字符,其中文本框输入控件(字符数,字符类型)

  1. 前4个字符都是普通英语字符
  2. 的第四字符必须是下列{U或J或Z}
  3. 其余(9个字符)中的一个是数字。

例> “CRLU123456789”

+0

你可以使用的RegularExpressionValidator和可有人为你煮了正则表达式吧。请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.regularexpressionvalidator.aspx – Yeronimo

+0

我想过,但问题是我不能写它,我不好与RegularExpression – M009

回答

3

我会建议您使用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; } 

,当你回来后会显示错误消息。

1

使用RegularExpressionValidator控件与此ValidationExpression:[a-zA-Z]{4}[ujzUJZ][0-9]{9}

相关问题