Javascript正则表达式跨浏览器差异
Javascript regex cross-browser discrepancy
这段代码从Firefox到IE8:带来了不同的结果
var text = "[AMOUNT] MILES DEDUCTED IN [CABIN] FOR [ORIGIN]";
var splitArray = text.split(/['[']]/);
alert(splitArray.length);
在Firefox中,警报为7。而在IE中,它给出5。
我试过了。。。
Internet Explorer 中的Javascript RegEx故障
但它不起作用。
你知道吗?谢谢
下一个代码没有经过完全测试,但在快速测试中可以正常工作:
要获得IE8和更少的分裂行为:
var text = "[AMOUNT] MILES DEDUCTED IN [CABIN] FOR [ORIGIN]";
var arr = text.match(/[^'[']]+/g);
// arr is ["AMOUNT", " MILES DEDUCTED IN ", "CABIN", " FOR ", "ORIGIN"]
获取FF拆分行为:
var text = "[AMOUNT] MILES DEDUCTED IN [CABIN] FOR [ORIGIN]";
var arr = text.match(/[^'[']]+|^(?=['[']])|[^'[']]?(?=['[']]$)|[^'[']]?(?=['[']]{2})/g);
// arr is ["", "AMOUNT", " MILES DEDUCTED IN ", "CABIN", " FOR ", "ORIGIN", ""]
相关文章:
- 不同浏览器中的空白字符正则表达式行为
- Javascript正则表达式跨浏览器差异
- 为什么浏览器为电子邮件验证正则表达式显示不同的反斜杠.如何防止这种情况发生
- 谷歌浏览器模式正则表达式在使用setCustomValidity动态创建表单时不起作用
- JavaScript中的简单正则表达式适用于所有浏览器,但Safari除外
- 正则表达式在浏览器上有效,但在Node.js中无效
- JavaScript正则表达式神秘地无法在Android 2.3股票浏览器中匹配
- 浏览器中的正则表达式中断
- 安卓原生浏览器检测通过用户代理正则表达式
- 在谷歌浏览器中学习正则表达式回溯
- 谷歌浏览器扩展弄乱了正则表达式全局标志
- 使用正则表达式检索浏览器名称
- url检查正则表达式在浏览器中无休止地运行
- 我的正则表达式在在线编辑器中工作,但在FireBug中,它使浏览器崩溃
- 跨浏览器不透明度的Javascript正则表达式
- 这个正则表达式并不是在所有浏览器中都有效
- 浏览器如何定义源HTML中的哪些字符,在呈现的HTML中折叠为单个空白?那么s正则表达式呢?
- 所有浏览器都用正则表达式处理多行搜索吗
- 带有浏览器.js的 Babel,获取未捕获的语法错误:正则表达式无效
- 使用简单的正则表达式验证浏览器上传文件名和扩展名