javascript - IE 的换行符分割字符串问题

标签 javascript internet-explorer

我使用此代码来检测字符串中的新行。

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/

相关文章:

javascript - 动态表格如果复选框为空() td单元格与JS

javascript - React Native - React Native Firebase - Google 登录 Android

html - 网站将不会在 Internet Explorer 7 和 8 中显示

css - 在 Less 中编写特定于浏览器的 hack(适用于 <IE9)

javascript - box2d 力(applyimpulse 和 applyforce)

javascript - 带计时的 jQuery 鼠标悬停

javascript - 获取所有行中的最大文本长度

css - 为什么 Bootstrap 3 导航栏下拉菜单在 IE8 中不起作用?

javascript - jquery图像加载()和在IE中设置超时冲突

javascript - IE7 默认表单方法是 "GET"。我如何判断它是用户输入的还是默认的?