正则表达式避免使用html标记

时间:2013-10-28 16:40:50

标签: c# asp.net regex

大家好我想知道我是否可以做一个正则表达式来避免<和>在我的文字输入。 我正在考虑使用正则表达式来检查客户端。我只是有这个,但我想知道我怎么能做到否定,这将匹配,但我需要逆。 在此先感谢!!!!

TextBoxRegularExpressionValidator.ValidationExpression = HtmlExpression();

private string HtmlExpression()
{
    return @"<[^>]*>";

}

例如,如果我在文本框中输入:&lt;脚本&gt;然后触发正则表达式验证器并告诉用户不能输入它,因为它不是有效字符。

2 个答案:

答案 0 :(得分:0)

考虑以下内容......

var match = Regex.Match(input, "<.*>");

答案 1 :(得分:0)

所以这是一个你可以使用的正则表达式。

((?<=^)|(?<=>)).*?((?=<)|(?=$))

对于行的开头或>,它有后视,当它到达<或行尾时结束。

当然,使用Regex解析任何通用HTML通常不是一个好主意,因为HTML不仅仅是遵循此模式的节点。除非您知道您的输入特别是有效的HTML / XML子集,否则您应该使用正确的解析器。