防止在文本框中使用HTML标记

时间:2015-12-16 07:36:30

标签: html

我是否有办法阻止用户在<br>或其他任何html标记中使用textbox等HTML标记显示为文字:

<form method="POST">
    <textarea id="note" placeholder="Type your notes here"></textarea>
    <input type="button" value="Save Note" />
</form>

2 个答案:

答案 0 :(得分:0)

删除他们可能使用的任何html标签:

var myString = document.getElementById('note');
var stringStripped = myString.replace(/<(?:.|\n)*?>/gm, '');

或使用jQuery的第一行,如果您愿意:

var myString = $('#note');

答案 1 :(得分:0)

您可以做的是编写一些在表单提交时调用的JavaScript,如果其中一个字段包含类似XML的内容,则会阻止它。您可以使用适当的Regex进行检查。

但您确实理解,这实际上并不能阻止攻击者通过这些字段或禁用JavaScript的浏览器发送HTML。要处理这种情况,您的保护应该是服务器端,您需要针对相同的正则表达式运行字段以验证它们不包含HTML并拒绝表单提交。