要输入的最小字符数 - 正则表达式非字符问题

时间:2012-04-06 13:42:11

标签: c# asp.net regex

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

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

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

4 个答案:

答案 0 :(得分:5)

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

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

\ S匹配任何非白色空格字符(所以没有空格,换行符,制表等......)

答案 1 :(得分:4)

试试这个Regex表达式:

^.{7,}$

答案 2 :(得分:2)

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

如果您想要一个很好的工具来帮助您与正则表达式相处,我可以推荐Regex Designer 它是免费软件,非常易于使用; - )

答案 3 :(得分: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;
}