使用JQuery,如何防止用户将脚本或html输入到输入字段?

基本上,我需要能够在处理之前从输入字段中删除脚本和html。 我正在使用JQuery,并希望找到一种标准的方法来做这种事情。 有任何想法吗?

你的HTML:

 

你的js:

 $(document).ready(function() { // strip all html when text in input changes $(".striphtml").change(function(){ $(this).val( $(this).text() ); }); }); 

结果:

 

This is a test.

将被替换为:

 <p>This is a test.</p> 

注意:正如SLaks所说,你必须在服务器端validation你的INPUTS!

你必须在服务器上这样做。 如果您在客户端上执行此操作,那么您可以通过手工制作HTTP消息将其发送到您的服务器,因为您知道您的服务器假定您的客户端代码逃脱了字符串。 因此,由于您的服务器无法假定内容是安全的,因此必须假定它不安全。 (否则你最终会对事物进行双重编码,这就变得很痛苦。)因此,客户端代码执行转义既不可能也不合适。

这是一个很棒的教程,可以满足您的需求。 正如SLaks所说,做这个服务器端。 消除您的输入

教程

你可以用特定的字符做一些正则表达式,但这只能帮助一点点。

你根本不应该这样做。

相反,您应该在服务器上转义您的内容。
这样,您可以接受恶意输入(或<字符)而不会受到它的伤害。