我正在尝试为正则表达式验证器控件创建验证表达式。我无法理解如何向验证表达式添加内容。我需要它接受任何输入(数字,字符,任何特殊字符)并将输入限制为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>
当我尝试在表达式中添加更多特殊字符时,我开始收到错误。有人可以帮助澄清向此验证表达式添加特殊字符的格式/结构。谢谢
答案 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>