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

代码如下:

<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规范点了!

(0)

相关推荐

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

    复制代码 代码如下: <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全局

  • Ajax请求过程中下载文件在FireFox(火狐)浏览器下的兼容问题

    需求很简单,点击一个文件链接下载该文件,同时向后台发送请求.需求很常见,用户点击下载后通常要进行下载量的统计,统计的话可以利用 script标签 或者 img标签(图片ping) 的跨域能力,将它们的 src 属性指向统计地址,但是这次用了 ajax 进行统计,遂出现了这个问题. demo 代码如下: <a id="a" href="http://c758482.r82.cf2.rackcdn.com/Sublime Text 2.0.2 x64 Setup.exe&q

  • ul在Firefox和IE下的不同表现的解决方法

    最近做了个oblog的系统模板,其中涉及到了ul,所以就整理出了这篇文章+这张大图. ul是一个很常用的标签,但是因为它在Firefox和IE下的不同表现,让人觉得它是个很难以控制的标签. ul在Firefox下有个padding值, 却没有margin值:而在IE下正好相反,ul有个margin值, 却没有padding值.[下图中的第二第三例的对照可以看出] 在Firefox下,ul的list-style默认是处于内容的外边缘的.当然可以通过css可以将list-style置为内容的内边缘.

  • 在firefox和Chrome下关闭浏览器窗口无效的解决方法

    首先IE是可以通过window.close()来关闭浏览器窗口的,但是在firefox和Chrome下是无效的. 原因在于: Firefox下默认设置是无法通过脚本来关闭浏览器窗口的,为的是防止恶意脚本注入, 所以调整的方式就是在url地址栏中输入about:config, 然后在配置列表中找到 dom.allow_scripts_to_close_windows 点右键的选切换把上面的false修改为true即可. 默认是false chrome下的默认是不支持这种关闭方式的,但是也可以通过一

  • js简单正则验证汉字英文及下划线的方法

    本文实例讲述了js简单正则验证汉字英文及下划线的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <

  • 表单验证常用正则(强烈推荐大家收藏下)

    1.^\d+$ //匹配非负整数(正整数 + 0) 2.^[0-9]*[1-9][0-9]*$ //匹配正整数 3.^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0) 4.^-[0-9]*[1-9][0-9]*$ //匹配负整数 5.^-?\d+$ //匹配整数 6.^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0) 7.^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0

  • innerHTML在Mozilla Firefox和Opera下执行的一个特例情况。

    是在CSDN论坛看到的一个问题,平常我也没有注意,或者说没有这样用吧.看代码 var foo = function() { var $ = function() { return document.getElementById(arguments[0]); } $("d2").innerHTML = $("d1").innerHTML; } //]]> 改动两个文本框里的值,把这个容器的innerHTML赋值给d2 foo() [Ctrl+A 全选 注:如需引

  • 关于火狐(firefox)及ie下event获取的两种方法

    经常有同事问我在火狐浏览器怎么获取event的方法,大多是想获取event.keyCode的功能两种方法 第一种方法: 复制代码 代码如下: function a(e){ e=e||window.event; alert(e.keyCode); } ie浏览器如下调用 复制代码 代码如下: <body onclick="a()"> firefox火狐浏览器如下调用 复制代码 代码如下: <body onclick="a(event)"> 这样

  • iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过

    废话不多说,贴上代码,也算是自己的一个代码存储. 复制代码 代码如下: var temp_iframe var content = document.getElementById('right'); //id为 right的DOM容器中,进行创建iframe和宽高自适应 var c = 0; function append(filename) { var the_iframe = "helpfile" + c; temp_iframe = document.createElement(

  • FireFox与IE 下js兼容触发click事件的代码

    <a href="#" id="a3" onclick="test()" style="display:none"></a> <input type="button" value="clck" onclick="test2('a3');"/> <script language="javascript">

随机推荐