Javascript换行符字符投掷错误

时间:2015-02-02 16:16:07

标签: javascript html asp.net textbox

我无法使用javascript从文本框中获取某些数据。我想要做的是从文本框中获取值并将其置于警报中并复制它。这是我目前的代码:

var copyString = "Date: <%= TXT_Details_DateReq.Text %>;
window.prompt('Press CTRL+C, then ENTER\n\nNOTE: SAVE ANY CHANGES BEFORE COPYING TEXT!', copyString); return false;

因此,如果文本框中的文本只是一行,则此代码可以正常工作。但是,如果文本框中的文本有多行,例如:

"This is one line
here is a second line"

代码将抛出错误Uncaught Syntax Error: Unexpected Token ILLEGAL。 根据我研究的情况,当有非法字符时,这会抛出,所以我相信它是文本框中的CRLF字符。

知道如何解决这个问题吗?

感谢。

1 个答案:

答案 0 :(得分:0)

新行字符前面可能有返回字符('\r')。

'\n''\r\n'交换,你应该好好去。

甚至更好:只处理新行字符的所有情况,而不是检查应用它的情况。这取代换行符:

htmlstring = stringContainingNewLines.replace(/(\r\n|\n|\r)/gm, "<br>");

Resource

希望它有所帮助。