1

我将此正则表达式与 asp:RequiredFieldValidator 结合使用以强制用户输入至少 7 个字符:

[0-9a-zA-Z]{7,}

但是当用户输入非字母@、.、-等时,这不起作用。如何启用输入所有字符且最少 7 个

4

4 回答 4

5

您的正则表达式只接受数字和字母。这 ”。” 匹配除换行符以外的任何单个字符。

所以新的正则表达式将是“.{7,}”或“\S{7,}”。

\S 匹配任何非空白字符(因此没有空格、换行符、制表符等...)

于 2012-04-06T13:46:42.183 回答
4

试试这个Regex表达式:

^.{7,}$
于 2012-04-06T13:45:38.270 回答
2

最少 7 个字符条目的正确表达式是 .{7,} “。” 代表任何字符(包括空格)要解决空格问题,可以使用\S{7,}(CAPITAL S!)

如果您想拥有一个很好的工具来帮助您与 regex 相处,我可以推荐Regex Designer 它是免费软件并且非常易于使用;-)

于 2012-04-06T13:57:02.480 回答
1

正则表达式并不意味着解决所有问题。

您可以使用CustomValidator

  <asp:CustomValidator id="CustomValidator1"
       ControlToValidate="Text1"
       Display="Static"
       ErrorMessage="Must be at least 7 chars!"
       OnServerValidate="ServerValidation"
       runat="server"/>

您可以处理ServerValidate事件并检查长度:

void ServerValidation(object source, ServerValidateEventArgs args)
{
    args.IsValid = args.Value.Length >= 7;
}
于 2012-04-06T13:44:45.133 回答