我有一個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