2012-11-19 64 views
0

JavaScript中的「\」字符有什麼問題?JavaScript中「」字符的問題是什麼?

這個腳本不起作用:

var theText='<he:/ll/*o?|>' 
function clean(txt) { 
var chr = [ '\', '/', ':', '*', '?', '<', '>', '|' ]; 
for(i=0;i<=8;i++){txt=txt.split(chr[i]).join("")} 
return txt;} 
alert(clean(theText)); 

它的工作原理,當我從數組中刪除了 「反斜槓」:

var theText='<he:/ll/*o?|>' 
function clean(txt) { 
var chr = [ '/', ':', '*', '?', '<', '>', '|' ]; 
for(i=0;i<=7;i++){txt=txt.split(chr[i]).join("")} 
return txt;} 
alert(clean(theText)); 

當我寫它不工作var txt='text\';

加上反斜槓的引號可能會引起錯誤,如下所示:\''\'

但是我也需要/字符,我該怎麼辦?

+0

您需要停止使用記事本並至少切換到某些IDE,如SublimeText 2或Notepad ++。 –

+0

即時使用記事本++現在... – faid

回答

5

反斜槓轉義結束報價。您需要轉義反斜線本身:

var chr = [ '\\', '/', ':', '*', '?', '<', '>', '|' ]; 
//   ^--- Add another backslash to escape the original one 

此行爲可能會派上用場,如果,例如,你想一個單引號字符添加到您的數組:

通過轉義單引號,它被視爲「正常」的性格和不會關閉字符串:

var chr = [ '\'', '/', ':', '*', '?', '<', '>', '|' ]; 
//   ^--- Escaped quote, no problem 

你應該能夠看到從語法高亮applie前面兩個例子的區別d通過堆棧溢出。

+0

謝謝,它現在的作品,我只需要添加另一個反斜槓,但是它仍然可以取代一個反斜槓? – faid

+0

@faid - 我不確定你的意思...你有一個例子嗎? –

+0

ex。我的char就是這個''''我想用上面的JS函數替換另一個backslah,比如''\\'',它還是可以工作的,我在IE8中測試過,效果很好,但在其他使用方面會不會很好? – faid

相關問題