Firefox下正则诡异问题

作者:潇洒 来源:潇洒blog 时间:2009-08-03 14:03:00 

第二次遇到FF下正则兼容性问题( 第一次是关于"g"全局标志的,现在网上已有很多相关文章介绍)。

以下正则在FF和IE下的结果不一样,很是奇怪,目前还没找到原因和解决方案。希望有高手指点一下。谢谢!

    <script type="text/javascript" >

      var re = /^(?:([a-z])|([A-Z])|([0-9])){5,}|(.)+$/;
      alert('abcdeFGHIJ12345'.replace(re, '$1$2$3'));
      alert('ab1F'.replace(re, '$1$2$3'));

      /*
        完整的需求是这样:所有小写,大写,数字。5个以上都替换为1个。5个以下清空。
        
        现在的结果是: 在IE下是正确的: eJ5 ,  在FF下是: 5
        
        期望的结果是: 1、在FF下得到同样的结果  2、弄明白为什么会这样
       */
    </script>



经过一番偿试,总算(试)出FF和IE都兼容的方案来了~ 可惜暂时还无法解释为什么。
(而且也不知道这个方案是否存在bug- -,高手们,快来看看咯~)

发现bug.....跟上面的正则还是不完全一样。当string里的同类字符小于5个时就不对了。- -!
继续求高手帮忙~

    <script type="text/javascript" >
      // 在ie和ff下结果一样了
      var re = /(?:([a-z]){5,}|([A-Z]){5,}|([0-9]){5,})|(.)/g;
      alert('abcdeFGHIJ12345'.replace(re, '$1$2$3'));
      alert('ab1F'.replace(re, '$1$2$3'));
      // 同类字符小于5个时又不对了
      alert('abcFG12'.replace(re, '$1$2$3'));
    </script>

标签:Firefox,兼容性,正则
0
投稿

猜你喜欢

  • javascript限制复选框的最大可选数

    2008-10-13 13:03:00
  • 使用DIV+CSS设计网页的好处

    2007-10-14 15:02:00
  • oracle 存储过程和触发器复制数据

    2009-11-17 09:12:00
  • MSSQL 基本语法及实例操作语句

    2012-07-11 15:40:09
  • 发个js从样式表取值的函数

    2008-05-20 12:23:00
  • SQL Server中单引号的两种处理技巧

    2008-05-23 13:30:00
  • SQLSERVER查询所有数据库名,表名,和字段名的语句

    2012-01-29 18:07:44
  • 全兼容的纯CSS级联菜单要点浅析

    2009-06-10 14:42:00
  • CSS背景属性5个应用实例

    2009-09-13 20:54:00
  • 如何在网页中制作虚线表格

    2010-10-20 20:07:00
  • 动态生成的IFRAME设置SRC时的,不同位置带来的影响

    2008-03-06 13:56:00
  • 基于PHP做个图片防盗链

    2023-05-25 00:27:30
  • 阿里妈妈广告牌制作规范

    2009-07-15 13:23:00
  • 浏览器针对单服务器连接数问题

    2008-05-12 22:27:00
  • ubuntu下简单配置mysql数据库

    2009-07-31 09:17:00
  • asp函数判断服务器是否安装了某种组件

    2008-10-11 14:45:00
  • CSS3的五个使用技巧[译]

    2009-02-19 13:01:00
  • 彻底解决MySql在UTF8字符集下乱码问题

    2011-06-02 12:02:00
  • Oracle 的入门心得 强烈推荐

    2009-05-24 19:55:00
  • 如何实现论坛的树状记录表展开技术?

    2010-05-19 21:37:00
  • asp之家 网络编程 m.aspxhome.com