RegularExpressionValidator有问题

时间:2013-11-15 07:09:02

标签: c# asp.net reg-expressionvalidator

我在RegularExpressionValidator页面中使用FreeTextBox进行aspx控制。

<FTB:FreeTextBox id="FTB" runat="server" />
<asp:RegularExpressionValidator ID="rev" runat="server" ControlToValidate="FTB" ErrorMessage="Content cannot be only space character" ValidationExpression="[^\s]+"/>

我希望不允许文本只包含空格字符。客户端必须输入一些a,b,c…字符。

RegularExpressionValidator拒绝文本中的任何空格字符(例如2个字之间)。

3 个答案:

答案 0 :(得分:1)

此正则表达式.*[^ ].*仅在字符串包含多于空格的内容时才匹配。我测试了它here

希望我帮忙!

答案 1 :(得分:1)

试试这个:

第一个解决方案:

^((?!\s).)*$

像这样:

.... ValidationExpression="^((?!\s).)*$" ....

第二个解决方案:
您可以使用label而不是regularExpressionValidator控件,然后在按钮中使用以下代码:

Match s = Regex.Match(TextBox1.Text, @"^((?!\s).)*$");
if (!s.Success)
{
     Label1.Text = "Incorrect input!";
}

答案 2 :(得分:0)

我认为您应该使用匹配空/非空内容的RequiredFieldValidator。其他验证器只是忽略空内容,因为它听起来像你在这里点击此功能。