asp.net中的验证表达式

时间:2014-03-24 00:32:10

标签: asp.net validation

我正在尝试为正则表达式验证器控件创建验证表达式。我无法理解如何向验证表达式添加内容。我需要它接受任何输入(数字,字符,任何特殊字符)并将输入限制为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>     

当我尝试在表达式中添加更多特殊字符时,我开始收到错误。有人可以帮助澄清向此验证表达式添加特殊字符的格式/结构。谢谢

2 个答案:

答案 0 :(得分:1)

如果您只需要接受任何输入(数字,字符,任何特殊字符)并将输入限制为200,则只设置文本框的属性,如 - &gt; MaxLength="200"
或者如果你想显示消息,那么在文本框的Keydown事件中使用javascript或Jquery,如下面的函数 - &gt;

    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 :(得分:0)

您可以使用.{1,200}正则表达式。

. 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>