-3

在 asp.net 中,我必须验证文本框控件是否以“.aspx”结尾,否则显示错误消息请指导我如何为此条件创建自定义正则表达式。

4

3 回答 3

1

如果您对使用 RegEx 很执着,您可以尝试以下方法:

private bool ValidateFilename(string input)
{ 
    RegEx r = new RegEx(@".*?\.aspx$");
    return r.IsMatch(input);
}

然而,RegEx 不一定是这种情况下的最佳选择。

于 2013-03-28T08:56:52.730 回答
-1

您可以只取最后 5 个字符并检查它们,您不需要正则表达式......

(在这样做之前检查长度......)

这是正则表达式:

".*?\.aspx$"

于 2013-03-28T08:15:32.640 回答
-1

您不必使用正则表达式,但如果您真的想要,请尝试:

MatchCollection matches = Regex.Matches(TextBox1.Text, ".*?\.aspx$"); 

                string[] var_matches = matches.Cast<Match>()
                                         .Select(match => match.Value)
                                         .ToArray();

if (var_matches.Length > 0)
{
   // do stuff
}

编辑

如果您想使用asp:RegularExpressionValidator,请尝试:

 <asp:RegularExpressionValidator ID="RegularExpressionValidator1"  ValidationExpression=".*?\.aspx$" ControlToValidate="TextBox1" 
    runat="server" ErrorMessage="Error!"></asp:RegularExpressionValidator>
于 2013-03-28T08:17:03.147 回答