2010-01-24 4 views
1

를 사용할 때 내가 가지고 탈출하지 문자를 이스케이프, 비교하지 않습니다. 그리고 내가 수행 할 경우 var text = "Raphaël\nkicks\nbutt!" 이스케이프되고 텍스트가 줄 바꿈으로 표시됩니다.자바 스크립트 문자열 jQuery.val() FUNC

입력 텍스트 값을 줄 바꿈으로 해석하도록하려면 어떻게해야합니까?

답변

1

text 입력은 한 줄의 텍스트 만 허용하기 때문에 input[type=text] 요소는 줄 바꿈을 포함 할 수 없습니다. 개행 이스케이프 시퀀스가 ​​일반 텍스트로 해석되고 있다고 생각합니다. 당신이 그것을 일치하는이 정확히 무엇을 val() 함수에서 반환되고 있기 때문에이에 일치하는 코드를 변경하고자한다면

: 만약 당신이 다른 방식에 맞게 원하는 경우 및

var stringText = "Raphaël\\nkicks\\nbutt!"; 

당신의

var inputText = $("#tzbox_txt").val().replace(/\\n/g,"\n"); 
var stringText = "Raphaël\nkicks\nbutt!"; 
inputText === stringText; // true 
+0

이 일치 할 것입니다,하지만 내 질문은 줄 바꿈 텍스트 값에서 텍스트를 해석 할 수있는 방법이 있다면? – Sergey

+0

@ mercury22 다른 방법으로 작동하도록 내 답변이 업데이트되었지만, 무엇이든지 * 문제를 해결하거나 해킹 할 수 있습니다. 'input' 엘리먼트는 원래의 의미로 여러 줄 텍스트를 포함 할 수 없습니다. –

2

당신이 여러 줄 텍스트 내가 원하는 경우 input 요소를 테스트하기 전에 텍스트 값에 대체 당신이 할 수 '\n'텍스트 시퀀스를 포함 입력란이 아닌 텍스트 영역을 사용해야합니다. 텍스트 상자는 단 한 줄의 텍스트이므로 줄 바꿈은 필요 없습니다.

편집

: 당신이 줄 바꿈으로 시퀀스 \ n을 치료하고 싶은 경우는 검색을 수행하고 교체 :

var s = "this\\nis\\na\\ntest"; 
var unescaped = s.replace("\\n", "\n"); 

은 당신이 문자열에있는 것은 N 다음에 리터럴 백 슬래시입니다. 이 검색 및 바꾸기는 리터럴 "\ n"을 개행 문자로 바꿉니다.

+0

여러 줄 텍스트가 필요하지만 텍스트 상자에서 해석해야합니다. 내 질문은 줄 바꿈 텍스트 상자 값에서 텍스트를 해석 할 수있는 방법이 있다면? – Sergey

+0

@ mercury22 : 간단한 검색을 수행하고 해당 항목을 바꿀 수 있습니다 (편집 된 답변 당). – cletus

+0

감사합니다 Cletus 나는 당신의 대답을 upvoted했지만 Doug 검색 및 교체 일찍했다 – Sergey

0

본질적인 문제는 입력 텍스트 상자에서 \ n이 백 슬래시 및 문자 n으로 해석되는 반면 var 문에서 \ n이 실제 줄 바꿈으로 변환된다는 것입니다.