首页 > 编程 > Regex > 正文

正则在FireFox和IE下使用test的不同

2020-03-16 21:16:58
字体:
来源:转载
供稿:网友
今天同事遇到这样的问题,查明原因.记下 由于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规范点了!
 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表