我有一个textarea字段,我希望用户无法输入HTML TAGS到textarea。
这可能吗?
示例
<textarea rows="4" cols="30" id="textareadescription"></textarea>
此用户无法输入HTML标签
<button> Submit </button>
答案 0 :(得分:3)
你可以这样做
function Check(){
var reg =/<(.|\n)*?>/g;
if (reg.test($('#YourTextAreaID').val()) == true) {
var ErrorText ='do not allow HTMLTAGS';
alert('ErrorText');
}
}
更多信息
答案 1 :(得分:2)
我要这样做的方式如下。通过将替换重构为一个函数,可以提高效率。但我将其详细说明只是为了简单地解释该程序...
var str = $('#textareadescription').val();
//Temporarily replace the HTML elements I can accept
str = str.replace(/<\/b>/g, "@@/b@@");
str = str.replace(/<br>/g, "@@br@@");
str = str.replace(/<i>/g, "@@i@@");
str = str.replace(/<\/i>/g, "@@/i@@");
//render all other HTML elements harmless
str = str.replace(/</g, "<");
str = str.replace(/>/g, ">");
//put back the HTML elements I can accept
str = str.replace(/@@b@@/g,"<b>");
str = str.replace(/@@\/b@@/g,"</b>");
str = str.replace(/@@i@@/g,"<i>");
str = str.replace(/@@\/i@@/g,"</i>");
str = str.replace(/@@br@@/g,"<br>");
//At this point str should contain only the HTML elements that I can accept.
答案 2 :(得分:1)
如果您的输入文字并非真正需要,则可以阻止用户输入<
和>
个符号。
以下javascript代码执行此操作:
$(function(){
$('#textareadescription').on("keydown", function(e){
if (e.shiftKey && (e.which == 188 || e.which == 190)) {
e.preventDefault();
}
});
});
在此尝试工作演示:http://jsfiddle.net/AHrrP/1/
答案 3 :(得分:0)
以下是您可以选择的选项:
是重新处理textArea内容的脚本
function reProcessText(){
var text= $('myTextArea').html();
var startTag=-1;
var endTag=-1;
for(var i=0;i<text.length;i++){
if(text[i]=='<')
startTag=i;
if(text[i]=='>')
endTag=i;
if(startTag != -1 && endTag!=-1){
text = text.substring(0,startTag) + text.substring(startTag+1, endTag);
startTag=endTag=-1;
}
}
}
我写了一个超级简单的算法来寻找和替换html标签。当然,根据您的需要,您可能需要使用更复杂的一个。
答案 4 :(得分:0)
情景:
所以你想要做的是:
你可以在这里使用jquery的html()和text()函数。
例如: 如果使用它,结果div将生成一个按钮。
<textarea rows="4" cols="30" onkeyup="$('#divDesc').html($('#textareadescription').val());" id="textareadescription"></textarea>
<div id="divDesc"> Result </div>
但是如果你使用它,结果div不会生成按钮,而是显示值:
<textarea rows="4" cols="30" onkeyup="$('#divDesc').text($('#textareadescription').val());" id="textareadescription"></textarea>
<div id="divDesc"> Result </div>
答案 5 :(得分:0)
我要去除HTML标记。 mysqli_real_escape_string(); addlashes();
答案 6 :(得分:-2)
<script>
$(document).ready(function() {
$('#description').summernote(
{
placeholder: 'Description',
tabsize: 2,
height: 100,
toolbar: [
['style', ['bold', 'italic', 'underline', 'clear']],
['fontsize', ['fontsize']],
['para', ['ul', 'ol', 'paragraph']],
['height', ['height']]
],
codemirror:{theme: 'monokai'},
fontNames: ['Arial', 'Arial Black', 'Comic Sans MS', 'Courier New']
}
);
});
</script>