你如何在textarea输入中删除html标签

我已经设置了一个小的Web应用程序,您可以在其中添加post-it到页面。 这只是一个帮助更好地学习JavaScript / jQuery的项目,它似乎是一个合适的项目(我是JS / jQuery的新手)。

这是小提琴: http : //jsfiddle.net/mitchbregs/mWaPz/

我找到了这个网站: http : //www.hscripts.com/scripts/JavaScript/remove-html-tag.php

我实现了代码:

function stripHTML(){ var re = /(]+)>)/gi; for (i=0; i < arguments.length; i++) arguments[i].value=arguments[i].value.replace(re, "") } 

它仍然没有奏效。

问题:我需要它,以便当有人将文本输入textarea时,如果他们输入类似“ Hi ”的内容,它会从输入中删除“ ”标记并只保留文本。

如果有人可以帮我解决这个问题,那就太棒了..谢谢!

你有三个问题:一个是方法没有正确返回(这是谁编写它的错误)。 接下来是您在$(document).ready()中定义方法,因此无法找到它(至少在Chrome中)。 第三,你没有以正确的方式调用它( onSubmit永远不会在这里使用)。

我使用了@ Joao的方法(所以你应该回答他的答案)并使用这个方法,移到ready()函数之外:

 function stripHTML(str){ var strippedText = $("
").html(str).text(); return strippedText; }​

并且在这里也称它为:

 var post = stripHTML($(".text_input").val()) 

这是工作小提琴: http : //jsfiddle.net/ee3MH/

 var textAreaValue = "text 
more text"; var strippedText = $("
").html(textAreaValue).text();​

这是一个小提琴 。

 function stripHTML(text){ var regex = /(<([^>]+)>)/ig; return text.replace(regex, ""); } // USE: var str = stripHTML('test'); 

演示: http : //jsfiddle.net/pisabev/eJzfw/3/

你可以使用jquery .text函数,虽然它会转义html而不是剥离它:

 $(".myTxtBox").text("this text will be displayed, even the b tag."); 
 $("textarea.text_input").on('keyup', function() { this.value = this.value.replace(/<(.|\n)*?>/g, ''); }); 

小提琴

根据OP的要求,没有人成功回答这个问题,因为内部标签将完全从输入中删除,而不仅仅是标签本身; 所以,这里的答案正是如此( 小提琴 ):

 var input = "This is nota successful test"; var output = $("
").html(input).children().remove().end().text()