如何在codebehind C#ASP.NET中动态设置正则验证表达式
我在如何在codebehind C#ASP.NET中动态设置正则验证表达式,c#,asp.net,regex,C#,Asp.net,Regex,我在ascx页面中有RegularExpressionValidator,用于验证TextBox1 <asp:RegularExpressionValidator ID ="RegularExpressionValidatorStateNumber" runat = "server" ControlToValidate="TextBox1" ErrorMessage="Error message" Display ="Dynamic" ValidationExpression=""/&g
ascx
页面中有RegularExpressionValidator
,用于验证TextBox1
<asp:RegularExpressionValidator ID ="RegularExpressionValidatorStateNumber" runat = "server" ControlToValidate="TextBox1"
ErrorMessage="Error message" Display ="Dynamic" ValidationExpression=""/>
返回正则表达式的函数GetRegex(region)
工作正常。
但验证不起作用。当插入错误数据时,验证程序不会显示错误消息
为什么验证不起作用?或者如何动态设置验证表达式?使用
MATCH
返回一个包含输入字符串中所有匹配项的匹配对象。当输入文本中存在多个匹配项时,这非常有用。以下代码导致多个匹配:
string region = DropDl.SelectedItem.Text; // @"^([\w]+) ([\w]+)$";
string yourText="abcdxyz"
Match m = Regex.Match(yourText, region , RegexOptions.CultureInvariant);
foreach (Group g in m.Groups)
{
Console.WriteLine(g.Value);
}
将错误消息显示为文本,而不是错误消息。 Text=“格式不正确”
如果你给它上色也很好:ForeColor=color.Redex0:10位手机号码 rgvMobNumber.ValidationExpression=“\d{”+iLength+“}” 例1: rgvPostcode.ValidationExpression=@“^[a-zA-Z0-9\s]{“+txtboxLength+”,8}$”; 例2
rgvPostcode.ValidationExpression=@“^[\s\s]{”+MinLength+,“+MaxLength+”}$” 我的问题中的正则表达式部分工作正常。My
RegularExpressionValidator
不显示错误消息。
string region = DropDl.SelectedItem.Text; // @"^([\w]+) ([\w]+)$";
string yourText="abcdxyz"
Match m = Regex.Match(yourText, region , RegexOptions.CultureInvariant);
foreach (Group g in m.Groups)
{
Console.WriteLine(g.Value);
}