2014-01-07 580 views
1

我想用0123替代&amp&。這裏是mine.EmployeeCode 的示例代碼可能包含&。 EmployeeCode從Datagrid中選擇,並在「txtEmployeeCode」文本框中顯示。但是,如果EmployeeCode包含任何&,那麼它會在文本框中顯示&amp。如何從EmployeeCode中刪除&amp?任何人都可以幫助...替換&amp;&,<lt < and > gt gt to gt在javascript中

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

使用JavaScript –

回答

3

有了這個:

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(); 
} 

可選如果您正在使用jQuery,這將解碼任何HTML實體(不僅&amp;&lt;&gt;):

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

乾杯

+0

他問道。看問題標題 –

+0

我站好了。我應該更仔細地閱讀問題 – MultiplyByZer0

+0

正則表達式?!你能否讓它效率更低?也許jQuery可以提供幫助。 – bjb568

0

試試這個:

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

欲瞭解更多信息,請參閱MDN's documentation

+0

唐的 '替換' 功能不使用正則表達式。 – bjb568

+2

1.正則表達式是一個強大的工具2.它是不是隻是第一個 – MultiplyByZer0

+0

什使它取代和放大器的所有實例的唯一途徑,? str.replace('&',「' – bjb568

0

如果你不想替換所有這些html實體,你可以作弊這樣的:

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

您的轉換價值現在是decoded

看到Decode &amp; back to & in JavaScript

-1

一個正則表達式濫用自由法:

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

您將再次爲&lt&&gt;執行操作。並且不要忘記那是可選的;實體背後。 – Rolf

相關問題