2016-07-11 2 views
-2

사용자가 모든 것을 입력 할 수있는 입력 필드가 있습니다 ("", ''). 이전에 그들의 유형을 모른 채 따옴표를 벗어날 수있는 방법이 있습니까? 사용자가 ("test"test'test")을 입력하면 어떻게 js 변수에 저장할 수 있습니까? 어떤 제안이라도 도움이 될 수 있습니다.JavaScript로 다른 이중 따옴표 (따옴표) 내에서 이중 따옴표를 이스케이프 처리하는 방법

예를 들어, 나는 이것이 제대로 작동하려면 :

(코멘트 이유를 설명 포함) INCORRECT
<!DOCTYPE HTML> 
<html> 
    <body> 

    <script> 

     var myVar = "test"test'test"; 
     console.log(myVar.replace('\"', '\\"')); 

    </script> 
    </body> 
</html> 
+3

'VAR yourString = yourInput.value;'- 내가 할 거라고 어떻게이 있습니다. 특별한 것은 없습니다. 어떻게 할거야? – Xufox

+0

'var myVar = "test"test 'test "; console.log (myVar);' myVar의 값이 사용자 입력에 의존하는 곳에서이 작업을 수행하고 싶습니다. – user5783530

+4

이것은 무엇을해야합니까? 입력 필드가있는 경우? 항상 백 슬래시를 사용하여 이스케이프 할 수 있습니다. 'var myVar = "test \"test'test "; – Xufox

답변

1

: 당신은 이미 구문 깨진 변수 선언에 교체 할 수 없습니다

. 깨진 구문을 수정해야합니다.

<!DOCTYPE HTML> 
<html> 
    <body> 
    <script> 
     // <-- You CANNOT do this. It's incorrect syntax. You need to escape it appropriately using backslashes. 
     var myVar = "test"test'test"; 

     // This line is not required. You need to correct the syntax error above instead. 
     console.log(myVar.replace('\"', '\\"')); 
    </script> 
    </body> 
</html> 

은 수정 : 여기

당신이 올바르게 리터럴 문자열 내에서 값을 탈출 볼 수 있습니다.

<!DOCTYPE HTML> 
<html> 
    <body> 
    <script> 
     var myVar = "test\"test\'test"; 
     console.log(myVar); 
    </script> 
    </body> 
</html> 
관련 문제