2012-11-19 2 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

메모장 사용을 중지하고 적어도 SublimeText 2 나 Notepad ++와 같은 일부 IDE로 전환해야합니다. –

+0

메신저 지금 메모장을 사용하여 ++ 지금 ... – faid

답변

5

백 슬래시는 닫는 따옴표를 이스케이프합니다. 작은 따옴표를 탈출하여

: 예를 들어, 당신이 당신의 배열에 작은 따옴표 문자를 추가하고 싶었 경우

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

는이 문제가 유용에 올 수 : 당신은 백 슬래시 자체를 탈출해야합니다 , 그것은 '정상'문자로 처리됩니다 및 문자열을 닫습니다하지 않습니다

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

당신은 구문 강조있는 수정에서 앞의 두 예 사이의 차이를 볼 수 있어야합니다 스택 오버플로 d.

+0

고마워, 지금은 작동, 난 그냥 다른 백 슬래시를 추가해야하지만 그것은 여전히 ​​하나의 백 슬래시를 대체하는거야? – faid

+0

@faid - 무슨 뜻인지 잘 모르겠습니다 ... 예가 있습니까? –

+0

예. 내 숯불이'' '''나는 다른 backslah를 다음과 같이 추가하여 JS 함수로 대체하고 싶다.''\\'', IE8에서 테스트 해봤는데 잘 작동하지만 다른 용도로 사용하면 괜찮을까요? – faid

관련 문제