正则在FireFox和IE下使用test的不同
编程学习 2021-07-05 10:07www.dzhlxh.cn编程入门
今天同事遇到这样的问题,查明原因.记下
由于FireForx和IE的执行javascript的引擎不同,所以会有些不同。以下的例子
代码如下:
<script language="javascript" type="text/javascript">
function fun(){
document.write(/a/gi.test("a"));
}
fun()
fun()
</script>
在IE的执行结果是:truetrue
在FireFox的执行结果是:truefalse
在正则中/expression/gi,g是表示global全局,i是表示不区分大小写。
一般global属性为true,做test应用不好.所以/a/gi意味着多个搜索
而test是单次匹配。正确的应该写/a/i,或/a/.
FireFox规范点了!