Javascript 有人知道为什么吗;x";。拆分(/(x)/)。长度在IE中返回0?
在IE中,Javascript 有人知道为什么吗;x";。拆分(/(x)/)。长度在IE中返回0?,javascript,regex,internet-explorer,Javascript,Regex,Internet Explorer,在IE中,“x”.split(/(x)/).length返回0 在Firefox、Chrome、Safari和Opera中,它返回3 有人知道原因吗?如有可能,请提供参考链接 我相信这是一个IE正则表达式的实现问题,但我找不到任何关于这方面的文档 例如,这里有一些实现问题,这是正确的。IE忽略空值并捕获正则表达式中的块 所以 "foo".split(/o/) 给 [f] 其他浏览器提供了什么 ["f","",""] 当您添加捕获时: "foo".split(/(o)/) IE执行相同的操
“x”.split(/(x)/).length
返回0
在Firefox、Chrome、Safari和Opera中,它返回3
有人知道原因吗?如有可能,请提供参考链接
我相信这是一个IE正则表达式的实现问题,但我找不到任何关于这方面的文档 例如,这里有一些实现问题,这是正确的。IE忽略空值并捕获正则表达式中的块 所以
"foo".split(/o/)
给
[f]
其他浏览器提供了什么
["f","",""]
当您添加捕获时:
"foo".split(/(o)/)
IE执行相同的操作,但其他人将捕获的分隔符添加到结果数组中,以给出
["f","o","","o",""]
因此,不幸的是,您可能需要避免使用split,或者围绕这些问题编写代码。对于split的坏IE实现,我也有同样的问题
这里有一个小文件,它完美地解决了这个问题。IE6,7,8据我所知