Nova linha na caixa de alerta JavaScript

389

Como você insere uma nova linha em uma caixa de alerta JavaScript?

Germe
fonte
11
PHP_EOL trabalhou para me embora como muitas outras respostas aqui não ....
Hayden Thring

Respostas:

593

\ncolocará uma nova linha - \nsendo um código de controle para a nova linha.

alert("Line 1\nLine 2");

Michael Gattuso
fonte
7
Navegador completamente cruzado
Justin Johnson
4
Se eu usar \ n na minha mensagem de alerta, a caixa de diálogo nem será exibida no aplicativo ASP.NET. A Microsoft tem problema com este :)
Hammad Khan
20
Para o caçador de crocodilos, no ASP.NET por trás dos alertas de código, você precisa usar caracteres de escape, isso significa Registerblabla (bla, bla, "alert ('oi \\ nhi segunda linha')")
NicolasT
5
No ASP.NET MVC4, usei em </br>vez de \nobter uma nova linha.
Kevin Meredith
2
Estou trabalhando no MVC 4 e criando um confirm()no onsubmitcaso de um Html.BeginForm(). \nNao funciona para mim. Eu recebo um Illegal tokenerro quando o código é atingido. Aparentemente, você precisa escapar tanto o caractere de nova linha e a barra invertida que cria o caractere de nova linha, assim:\\n
Kehlan Krumme
52

 alert("some text\nmore text in a new line");

Resultado:

some text
more text in a new line

Amarghosh
fonte
40

você precisa usar aspas duplas para exibir caracteres especiais como \ n \ t etc ... na caixa de alerta js, por exemplo, no script php:

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

Mas um segundo problema possível chega quando você deseja exibir uma sequência especificada entre aspas duplas.

Vejo texto do link

Se a string estiver entre aspas duplas ("), o PHP interpretará mais seqüências de escape para caracteres especiais

seqüências de escape \ n são transformadas como 0x0A caractere ASCII com escape e esse caractere não é exibido na caixa de alerta. A solução consiste em escapar dessa sequência especial:

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

se você não sabe como a string é delimitada, você deve transformar caracteres especiais em suas seqüências de escape

$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>";
greg
fonte
29

Em C # eu fiz:

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

É exibido como:

Texto

Um pouco mais de texto

Paul H
fonte
14

Lista de códigos de caracteres especiais em JavaScript:

Code    Outputs
\'  single quote
\"  double quote
\\  backslash
\n  new line
\r  carriage return
\t  tab
\b  backspace
\f  form feed
Bishnu Paudel
fonte
9
alert("text\nnew Line Text");

Modificado: você não precisa ter aspas e sequências extras

Basem Olimy
fonte
8

Quando você deseja escrever um alerta javascript a partir de uma variável php, é necessário adicionar outro "\" antes de "\ n". Em vez disso, o pop-up de alerta não está funcionando.

ex:

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

JS:
window.alert('<?php echo $text; ?>');  // not working
window.alert('<?php echo $text2; ?>');  // is working
Julha
fonte
Por que essa resposta é subestimada? se você está pensando de maneira mais dinâmica em termos de programação de páginas da web, isso é uma grande ajuda.
Jimwel Anobong
Ao definir um var no PHP com aspas duplas, o PHP verifica variáveis ​​dentro das aspas duplas. Teoricamente, isso custa recursos. A maneira simples e direta de criar o js alerttext no PHP, é usar aspas simples e adicionar variáveis ​​fora dos qoutes únicos, como $ jsAlert = 'bla bla'. $ Var. ' \ nmais bla bla ';
Terradon
Eu concordo, mas você nunca pode fazer o que disse. Exemplo de caso de uso, quando todas as variáveis ​​de string vêm do PHP, você não pode escrever um tratamento específico para cada string que precisa de uma quebra de linha.
Julha
3

Caso isso ajude alguém, ao fazer isso a partir do código C # atrás, tive que usar um caractere de escape duplo ou obtive um erro de JavaScript "constante de sequência não terminada":

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

Funciona com, \nmas se o script estiver em uma tag java, você deve escrever\\\n

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

ou

<h:commandButton action="#{XXXXXXX.xxxxxxxxxx}" value="XXXXXXXX" 
    onclick="alert('text\\\ntext');" />
David
fonte
Nas tags Java, você só precisa escapar duas vezes. Como em<%out.print("alert('First line\\nSecond line.')");%>
third_eye 14/01
3

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

Basta adicionar um caractere de nova linha \ n.

alert('The transaction has been approved.\nThank you');
//                                       ^^
Muhammad Awais
fonte
Foi o que Michael Gattuso disse há seis anos e meio. Sua resposta foi aceita. Isso não parece dizer nada de novo, e é basicamente uma cópia disso.
Quentin
@Quentin: A diferença é simples - aspas duplas ... funciona nos dois sentidos, que Michael Gattuso não mencionou.
Ole Sauffaus
@OleSauffaus - Essa é uma diferença irrelevante.
Quentin
2

 alert("some text\nmore text in a new line");

alert("Line 1\nLine 2\nLine 3\nLine 4\nLine 5");

Abdul Hameed
fonte
1

Obrigado pelas dicas. Usar o sinal "+" é a única maneira de fazê-lo funcionar. Esta é a última linha de uma função que adiciona alguns números. Estou apenas aprendendo JavaScript:

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

\n não funcionará se você estiver dentro do código java:

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

Eu sei que não é uma resposta, apenas pensei que era importante.

terceiro olho
fonte
Eu quis dizer Java. Como em uma página JSP.
Terceiro_eye
2
Então você deve apenas escapar do caractere de escape <% System.out.print("<script>alert('Some \\n text')</script>"); %>.
Zamber28 /
1

use o novo caractere de linha de um javascript em vez de '\ n' .. por exemplo: "Hello \ nWorld" use "Hello \ x0AWorld" Funciona muito bem!

Chitra
fonte
Não é \xAo mesmo que \n?
Cristik
0

A partir do ECMAScript 2015, você pode usar marcações de retorno (``) para incluir literais de modelo para sequências de várias linhas como esta:

alert(`Line1
Line2`);

Saídas:

Line1
Line2
Geoffrey Hale
fonte
0

No aplicativo JAVA, se a mensagem for lida no arquivo "properties".

Devido à compilação dupla java-html,

você precisará de fuga dupla.

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

vai resultar em

First Line
Second Line
BiScOtTiNo
fonte
-1

Vi que algumas pessoas tiveram problemas com isso no MVC, então ... uma maneira simples de passar '\ n' usando o Model e, no meu caso, mesmo usando um texto traduzido, é usar HTML.Raw para inserir o texto. Isso consertou para mim. No código abaixo, Model.Alert pode conter novas linhas, como "Hello \ nWorld" ...

alert("@Html.Raw(Model.Alert)");
Andy
fonte
-1

Você pode usar \ n para nova linha

alert("Welcome\nto Jumanji");

alert("Welcome\nto Jumanji");

Arun Karnawat
fonte
-2

Um novo caractere de linha em javascript pode ser obtido usando \n

Isso pode ser feito usando

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

Resultado :

primeira linha

segunda linha

terceira linha

aqui está um jsfiddle preparado para o mesmo.

Yasser Shaikh
fonte
-2

Eu usei: "\ n \ r" - embora só funcione com aspas duplas.

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
user2344047
fonte
11
A ordem correta, se você insistir em usar a terminação CRLF \r\n, não é \n\r.
Cristik