我将此正则表达式与 asp:RequiredFieldValidator 结合使用以强制用户输入至少 7 个字符:
[0-9a-zA-Z]{7,}
但是当用户输入非字母@、.、-等时,这不起作用。如何启用输入所有字符且最少 7 个
您的正则表达式只接受数字和字母。这 ”。” 匹配除换行符以外的任何单个字符。
所以新的正则表达式将是“.{7,}”或“\S{7,}”。
\S 匹配任何非空白字符(因此没有空格、换行符、制表符等...)
试试这个Regex
表达式:
^.{7,}$
最少 7 个字符条目的正确表达式是
.{7,}
“。” 代表任何字符(包括空格)要解决空格问题,可以使用\S{7,}
(CAPITAL S!)
如果您想拥有一个很好的工具来帮助您与 regex 相处,我可以推荐Regex Designer 它是免费软件并且非常易于使用;-)
正则表达式并不意味着解决所有问题。
您可以使用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;
}