Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE的javascript中是否始终存在换行符\r\n?_Javascript_Html_Encoding - Fatal编程技术网

IE的javascript中是否始终存在换行符\r\n?

IE的javascript中是否始终存在换行符\r\n?,javascript,html,encoding,Javascript,Html,Encoding,如果我得到一个有一个inside的元素,并得到它的innerText属性的文本,我会看到换行符是两个字符:13和10。这是什么决定的?是浏览器还是网页的编码 我想确保换行符总是这两个字符,只要它是网页静态内容的一部分,而不是动态创建的内容,或者修改我的文本处理算法来处理这两种可能性 这是我将使用split方法将文本拆分为行的东西。我不确定是否应该使用拆分\r\n或更复杂的代码。它通常依赖于操作系统。Windows是\r\n,\r用于Mac和\n用于Linux,它通常依赖于操作系统。Windows

如果我得到一个有一个inside的元素,并得到它的innerText属性的文本,我会看到换行符是两个字符:13和10。这是什么决定的?是浏览器还是网页的编码

我想确保换行符总是这两个字符,只要它是网页静态内容的一部分,而不是动态创建的内容,或者修改我的文本处理算法来处理这两种可能性


这是我将使用split方法将文本拆分为行的东西。我不确定是否应该使用拆分\r\n或更复杂的代码。

它通常依赖于操作系统。Windows是\r\n,\r用于Mac和\n用于Linux,它通常依赖于操作系统。Windows是\r\n,\r用于Mac,而\r\n用于Linux

split(/\r\n?|\n/g)
应处理UNIX新行、windows新行和旧式Mac新行

还有一些其他字符被认为是换行符,但这些额外的字符不太可能用于替换HTML innerText中的s

13对应于被称为CR或回车的\r。 10对应于被称为LF或换行的\n。 两者的组合称为CRLF行分隔符\r\n

其中一些在其他web语言中被视为行终止符。例如,U+2028和U+2029在JavaScript中是行终止符,U+000C在CSS中被视为行终止符

应处理UNIX新行、windows新行和旧式Mac新行

还有一些其他字符被认为是换行符,但这些额外的字符不太可能用于替换HTML innerText中的s

13对应于被称为CR或回车的\r。 10对应于被称为LF或换行的\n。 两者的组合称为CRLF行分隔符\r\n


其中一些在其他web语言中被视为行终止符。例如,U+2028和U+2029在JavaScript中是行终止符,U+000C在CSS中被视为行终止符。

这取决于您的编辑器和/或操作系统。Windows使用\r13\n10。Unix系统仅使用\n。已使用旧的Mac \r\n。 您可以将所有\r\n替换为\n,然后在上拆分。所以

//"test\r\nnewline".replace('\r\n','\n').split('\n')//only replaces the first newline
"test\r\nnewline".replace(/\r\n/g, '\n').split('\n')

这取决于您的编辑器和/或操作系统。Windows使用\r13\n10。Unix系统仅使用\n。已使用旧的Mac \r\n。 您可以将所有\r\n替换为\n,然后在上拆分。所以

//"test\r\nnewline".replace('\r\n','\n').split('\n')//only replaces the first newline
"test\r\nnewline".replace(/\r\n/g, '\n').split('\n')
text.split/\s*\n+/

在换行符上拆分文本。 在换行之前删除任何空白字符总是安全的, 但不是在.text.split/\s*\n之后+/

在换行符上拆分文本。 在换行之前删除任何空白字符总是安全的,
但之后不行。

是的,我想这是最简单的方法。这行不通。替换“\r\n”,则“\n”仅替换字符串中的第一个\r\n。即使只有规范化CRLF对您有效,您也需要使用regexp.replace/\r\n/g,'\n'。很好。相应地编辑了答案。我现在觉得自己很愚蠢:-是的,我想这是最简单的方法。这不起作用。替换“\r\n”,则“\n”仅替换字符串中的第一个\r\n。即使只有规范化CRLF对您有效,您也需要使用regexp.replace/\r\n/g,'\n'。很好。相应地编辑了答案。我现在觉得自己很愚蠢:-