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