我使用此代码来检测字符串中的新行。
var result = str.split(/\r\n|\r|\n/g);
但是在 IE8 中,如果仅在第一行中有连续的新行,则字符串将被拆分。
示例:
Hello
...\n
people
被视为
Hello
people
感谢任何解决方案或建议。
最佳答案
旧版 IE(IE8 及更早版本)中存在一个已知错误,其中 split()
会丢弃空元素 - 这正是您报告的问题。
此错误在 IE9 中已修复,但如果您需要支持任何早于该版本的 IE 版本,则会遇到此问题。
解决这个错误确实不容易。我看到有人建议overriding the split()
function entirely ,但这似乎有点矫枉过正(并且可能会产生意想不到的副作用)。
当我过去遇到这个问题时,我最终确保我的字段始终有一个值,即使它是空白的。对于空白字段,我将它们设置为空格或零,或标记字符,然后我可以将其删除。不确定该解决方案在本例中对您有多大用处,但这就是我所做的。
关于javascript - IE 的换行符分割字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13418206/