【发布时间】:2010-04-27 21:41:08
【问题描述】:
我正在尝试提出一个验证表达式来防止用户在网页的评论框中输入 html 或 javascript 标签。
以下内容适用于单行文本:
^(?!.*(<|>)).*$
..但由于点(.),它不允许任何换行符。如果我这样做:
^(?!.*(<|>))(.|\s)*$
它将允许多行,但表达式仅匹配第一行的“”。我需要它来匹配任何行。
这很好用:
^[-_\s\d\w"'\.,:;#/&\$\%\?!@\+\*\\(\)]{0,4000}$
但它很丑,而且我担心它会对某些用户造成破坏,因为它是一个多语言应用程序。
有什么想法吗?谢谢!
【问题讨论】:
-
当我用 html 的正则表达式提问时,人们总是这样对我 -
use parser:) 好的,现在说真的:你需要谈谈你使用的技术。你确定 \w 会得到非拉丁字母或奇怪的字母吗?你可以先用我的ąćęłóńśżź喂它 -
好的,我没有提供任何有关该技术的信息,因为我当时认为它不相关。我想是的。正则表达式将在 ASP.Net 页面上的 RegularExpressionValidator 标记中使用。所以目标是在表单提交到服务器之前验证标签不存在,客户端。