繁体   English   中英

如何在ASP.NET Web窗体正则表达式验证器中使用多个正则表达式

[英]How to use multiple Regular expressions in ASP.NET Web Forms Regular Expression validator

我需要针对多个正则表达式来验证某些控件的输入,如何使用一个正则表达式验证器控件来做到这一点。

不可能。 您需要为要测试的每个正则表达式使用一个正则表达式验证器。

尝试使用OR运算符构建正则表达式。 检查此链接以获取有关此信息的更多信息:

http://forums.asp.net/t/1213089.aspx?Multiple+Format+in+Regular+Expression+Validator https://msdn.microsoft.com/zh-CN/library/aa976858(v=vs.71 ).aspx

如果无法根据您的需要来适应和构建正则表达式,则可以使用自定义验证器,并对您可能需要的每个正则表达式进行所有验证。 检查此链接以获取有关“定制验证器”的更多信息。

我认为解决问题的唯一方法是使用自定义验证器,请检查以下代码,这只是给您一个有关如何使用自定义验证器的想法。

<asp:TextBox runat="server" ID="UserName" />                            
<asp:CustomValidator ID="CustomValidator1" runat="server" 
ControlToValidate="UserName" ></asp:CustomValidator>

protected void ValidateUser(object source, ServerValidateEventArgs args)
        {
            Regex regx = new Regex("^[a-zA-Z0-9]{6,}$");
            Regex regx2 = new Regex("^[a-zA-Z0-9]{6,}$");
            if (regx.IsMatch(UserName.Text) == false)
            {
                CustomValidator1.ErrorMessage = "error message";
                args.IsValid = false;
            }
            else if(regx2.IsMatch(UserName.Text) == false) 
            {
                CustomValidator1.ErrorMessage = "second error message";
                args.IsValid = false;
            }
          else
           {args.IsValid = true;}
       }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM