替换&amp;到&amp; ,<lt to =“”<=“”和=“”> GT到javascript </lt>

时间:2014-01-07 05:50:00

标签: javascript

我想使用javascript将&amp替换为&。这是我的示例代码.EmployeeCode 可以包含&amp ;. EmployeeCode是从Datagrid中选择的,它显示在“txtEmployeeCode”文本框中。但是,如果EmployeeCode包含任何&,那么它会在文本框中显示&amp。如何从EmployeeCode中删除&amp?任何人都可以帮忙...

function closewin(EmployeeCode) {
     opener.document.Form1.txtEmployeeCode.value = EmployeeCode;
     this.close();
}

4 个答案:

答案 0 :(得分:5)

有了这个:

function unEntity(str){
   return str.replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">");
}

function closewin(EmployeeCode) {
     opener.document.Form1.txtEmployeeCode.value = unEntity(EmployeeCode);
     this.close();
}

OPTIONAL 如果您使用的是jQuery,这将解码任何html实体(不仅仅是&amp; &lt;&gt;):

function unEntity(str){
   return $("<textarea></textarea>").html(str).text();
}

干杯

答案 1 :(得分:0)

试试这个:

var str = "&amp;";
var newstring = str.replace(/&amp;/g, "&");

有关详细信息,请参阅MDN's documentation

答案 2 :(得分:0)

如果您不想替换所有这些html实体,可以使用此作弊:

var div = document.createElement('textarea');
div.innerHTML = "bla&amp;bla"
var decoded = div.firstChild.nodeValue;

您的转化价值现在位于decoded

请参阅Decode &amp; back to & in JavaScript

答案 3 :(得分:-1)

免费使用正则表达式方法:

 function closewin(EmployeeCode) {
      opener.document.Form1.txtEmployeeCode.value = EmployeeCode.split('&amp').join('&');
      this.close();
 }