如何在JavaScript警告框中添加新行?


当前回答

JavaScript中的特殊字符代码列表:

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

其他回答

在JAVA应用程序中,如果消息是从“属性”文件中读取。

由于双重编译java-html,

你需要双重逃生。

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

会导致

First Line
Second Line

你必须使用双引号来显示特殊字符,如\n \t等…在js中的警告框 例如在PHP脚本中:

$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>";

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

输出:

一些文本 新行中有更多文本

适用于\n,但如果脚本是java标记,则必须编写\\\n

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

or

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

javascript中的新行字符可以通过使用\n实现

这可以用

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

输出:

第一行 第二行 第三行

这里有一个jsfiddle准备相同。