簡體   English   中英

ASP.NET中的驗證表達式

[英]validation expression in asp.net

我正在嘗試為我的正則表達式驗證器控件創建一個驗證表達式。 我在理解如何向驗證表達式添加內容方面遇到麻煩。 我需要它接受任何輸入(數字,字符,任何特殊字符)並將輸入限制為200。到目前為止,我有以下內容:

 <asp:RegularExpressionValidator ID="commentRegularExpressionValidator" runat="server"   ErrorMessage="Comment box exceeds 200 characters."
                  ControlToValidate="TextBoxComments"
                  ValidationExpression="^[a-zA-Z''-'\s\d ^!@#$%^&*()_+=-]{0,200}$"
                  Text="*"
                  CssClass="errorMessage"
                  SetFocusOnError="true"
                  Display="Dynamic"
                  ValidationGroup="infoGroup"></asp:RegularExpressionValidator>     

當我嘗試在表達式中添加更多特殊字符時,我開始出現錯誤。 有人可以幫助闡明向此驗證表達式添加特殊字符的格式/結構嗎? 謝謝

如果只需要接受任何輸入(數字,字符,任何特殊字符)並將輸入限制為200,則僅設置文本框的屬性,例如-> MaxLength="200"
或者,如果您想顯示消息,則對文本框的Keydown事件使用javascript或Jquery,如下所示:

    function CountCharacters() {
                var maxSize = 200;
                if (document.getElementById('<%= txt_handlinginfo.ClientID %>').value != '') {                 
                    var len = document.getElementById('<%= TextBoxComments.ClientID %>').value.length;
                    if (len > maxSize) {
                       alert('error message');
                       return false;
                        }
                    }                    
                }

您可以使用.{1,200}正則表達式。

. dot . dot字符表示任何字符

{1,200}表示匹配1個或更多字符,最多200個字符。

<asp:RegularExpressionValidator ID="commentRegularExpressionValidator" runat="server"      
                  ErrorMessage="Comment box exceeds 200 characters."
                  ControlToValidate="TextBoxComments"
                  ValidationExpression=".{1,200}"
                  Text="*"
                  CssClass="errorMessage"
                  SetFocusOnError="true"
                  Display="Dynamic"
                  ValidationGroup="infoGroup">
</asp:RegularExpressionValidator> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM