JavaScript 경고 상자의 줄 바꿈


389

JavaScript 경고 상자에 새 줄을 어떻게 넣습니까?


1
PHP_EOL은 다른 많은 답변이 없었지만 나를 위해 일했습니다 ....
Hayden Thring

답변:


593

\n새 줄을 넣을 것입니다-새 줄 \n의 제어 코드입니다.

alert("Line 1\nLine 2");


7
완전히 크로스 브라우저
Justin Johnson

4
경고 메시지에 \ n을 사용하면 대화 상자가 ASP.NET 응용 프로그램에도 표시되지 않습니다. Microsoft는 이것에 문제가 있습니까 :)
Hammad Khan

20
코드 경고 뒤의 ASP.NET에서 악어 사냥꾼에게는 이스케이프 문자를 사용해야합니다. 이는 Registerblabla (bla, bla, "alert ( 'hi \\ nhi second line')")
NicolasT

5
ASP.NET MVC4에서는 새 줄을 얻는 </br>대신 사용 했습니다 \n.
케빈 메러디스

2
내가 MVC 4에서 작업하고 만드는거야 confirm()onsubmit의 이벤트 Html.BeginForm(). \n나를 위해 작동하지 않습니다. 나는 얻을 Illegal token코드를 당한다 때 오류가 발생했습니다. 분명히 당신은 개행 문자와 개행 문자를 생성하는 백 슬래시 둘 다를 피해야합니다.\\n
Kehlan Krumme


40

PHP 스크립트의 exemple에 대해 js 경고 상자에 \ n \ t etc ...와 같은 특수 문자를 표시하려면 큰 따옴표를 사용해야합니다.

$string = 'Hello everybody \n this is an alert box';
echo "<script>alert(\"$string\")</script>";

그러나 큰 따옴표로 지정된 문자열을 표시하려는 경우 두 번째 가능한 문제가 발생합니다.

링크 텍스트 참조

문자열이 큰 따옴표 ( ")로 묶인 경우, PHP는 특수 문자에 대한 더 많은 이스케이프 시퀀스를 해석합니다

이스케이프 시퀀스 \ n은 0x0A ASCII 이스케이프 문자로 변환되며이 문자는 경고 상자에 표시되지 않습니다. 이 특별한 순서를 피하기 위해 솔루션이 구성됩니다.

$s = "Hello everybody \\n this is an alert box";
echo "<script>alert(\"$string\")</script>";

문자열이 어떻게 묶여 있는지 모른다면 특수 문자를 이스케이프 시퀀스로 변환해야합니다.

$patterns = array("/\\\\/", '/\n/', '/\r/', '/\t/', '/\v/', '/\f/');
$replacements = array('\\\\\\', '\n', '\r', '\t', '\v', '\f');
$string = preg_replace($patterns, $replacements, $string);
echo "<script>alert(\"$string\")</script>";

29

C #에서 나는했다 :

alert('Text\\n\\nSome more text');

다음과 같이 표시됩니다.

본문

더 많은 텍스트


14

JavaScript의 특수 문자 코드 목록 :

Code    Outputs
\'  single quote
\"  double quote
\\  backslash
\n  new line
\r  carriage return
\t  tab
\b  backspace
\f  form feed

9
alert("text\nnew Line Text");

수정 : 추가 따옴표와 문자열이 필요하지 않습니다.


8

PHP 변수에서 자바 스크립트 경고를 작성하려면 "\ n"앞에 다른 "\"를 추가해야합니다. 대신 경고 팝업이 작동하지 않습니다.

전의:

PHP :
$text = "Example Text : \n"
$text2 = "Example Text : \\n"

JS:
window.alert('<?php echo $text; ?>');  // not working
window.alert('<?php echo $text2; ?>');  // is working

이 답변이 과소 평가되는 이유는 무엇입니까? 웹 페이지 프로그래밍 측면에서 좀 더 역동적으로 생각한다면 큰 도움이됩니다.
Jimwel Anobong

큰 따옴표로 PHP에서 var를 설정할 때, PHP는 큰 따옴표 안의 변수를 확인합니다. 이론적으로 이것은 비용이 든다. PHP에서 js 경고 텍스트를 생성하는 간단하고 간단한 방법은 작은 따옴표를 사용하고 단일 qoutes 외부에 변수를 추가하는 것입니다 (예 : $ jsAlert = 'bla bla'. $ var). \ nmore bla bla ';
Terradon

동의하지만 당신은 당신이 말한대로 할 수 없습니다. 사용 사례의 예는 모든 문자열 변수가 PHP에서 나올 때 줄 바꿈이 필요한 각 문자열에 대해 특정 처리를 작성할 수 없습니다.
Julha

3

C # 코드 에서이 작업을 수행 할 때 이중 이스케이프 문자를 사용해야하거나 "문자없는 문자열 상수"JavaScript 오류가 발생했습니다.

ScriptManager.RegisterStartupScript(this, this.GetType(), "scriptName", "alert(\"Line 1.\\n\\nLine 2.\");", true);

3

작동 \n하지만 스크립트가 Java 태그에 있으면 작성해야합니다.\\\n

<script type="text/javascript">alert('text\ntext');</script>

또는

<h:commandButton action="#{XXXXXXX.xxxxxxxxxx}" value="XXXXXXXX" 
    onclick="alert('text\\\ntext');" />

Java 태그 내에서는 두 번 이스케이프 처리하면됩니다. ~ 같이<%out.print("alert('First line\\nSecond line.')");%>
third_eye

3

alert('The transaction has been approved.\nThank you');

개행 \ n 문자를 추가하십시오.

alert('The transaction has been approved.\nThank you');
//                                       ^^

6 년 반 전에 마이클 가투소가 말한 것입니다. 그의 대답은 받아 들여졌다. 이것은 새로운 것을 말하는 것으로 보이지 않으며 기본적으로 그 사본입니다.
Quentin

@Quentin : 차이는 작은 따옴표와 큰 따옴표입니다 ... Michael Gattuso가 언급하지 않은 두 가지 방식으로 작동합니다.
Ole Sauffaus

@OleSauffaus — 그것은 무의미한 차이입니다.
Quentin


1

힌트 주셔서 감사합니다. "+"기호를 사용하는 것이 유일한 방법입니다. 이것은 숫자를 더하는 함수의 마지막 줄입니다. 나는 단지 JavaScript를 스스로 배우고있다.

alert("Line1: The sum is  " + sum + "\n" + "Line 2");

1

\n Java 코드 안에 있으면 작동하지 않습니다.

<% System.out.print("<script>alert('Some \n text')</script>"); %>

나는 그 대답이 아니라는 것을 알고 있다고 생각했습니다.


나는 자바를 의미했다. JSP 페이지에서와 같이.
third_eye

2
그럼 당신은 탈출 문자를 탈출해야합니다 <% System.out.print("<script>alert('Some \\n text')</script>"); %>.
zamber

1

'\ n'대신 자바 스크립트의 줄 바꿈 문자를 사용하십시오. 예 : "Hello \ nWorld"사용 "Hello \ x0AWorld"훌륭하게 작동합니다 !!


하지가 \xA같은 \n?
Cristik


0

JAVA 앱에서 "속성"파일에서 메시지를 읽는 경우

이중 컴파일 Java-html로 인해

이중 탈출이 필요합니다.

jsp.msg.1=First Line \\nSecond Line

결과

First Line
Second Line

-1

MVC에서 일부 사람들 이이 문제를 겪는 것을 보았습니다 ... 모델을 사용하여 '\ n'을 전달하는 간단한 방법은 번역 된 텍스트를 사용하는 경우에도 HTML.Raw를 사용하여 텍스트를 삽입하는 것입니다. 그것은 나를 위해 그것을 고쳤다. 아래 코드에서 Model.Alert에는 "Hello \ nWorld"와 같은 줄 바꿈이 포함될 수 있습니다.

alert("@Html.Raw(Model.Alert)");


-2

자바 스크립트의 줄 바꿈 문자는 \n

이것은 다음을 사용하여 수행 할 수 있습니다

alert("first line \n second line \n third line");

출력 :

첫 줄

두 번째 줄

세번째 줄

여기에 준비된 jsfiddle이 있습니다.


-2

"\ n \ r"을 사용했습니다.하지만 큰 따옴표로만 작동합니다.

var fvalue = "foo";
var svalue = "bar";
alert("My first value is: " + fvalue + "\n\rMy second value is: " + svalue);

will alert as:

My first value is: foo
My second value is: bar

1
당신은 CRLF 종료를 사용하여 주장하는 경우 올바른 순서가있다 \r\n, 없다 \n\r.
Cristik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.