zoukankan      html  css  js  c++  java
  • IE/Firefox中全局正则表达式的兼容

              IE/Firefox中全局正则表达式的兼容

          有这样一段代码:if (RegExp.test(num))(的)结果,在IE中每次都为TRUE,而在Fire fox中若第一次为True,第二次必为False,后面交替出现..大概看了一下过往(的)解决办法: 方法一:把if (RegExp.test(num))改为if (num.match(RegExp)) 方法二:使用RegExp对象处理,也就是 new。。。

        方法一:把if (RegExp.test(num))改为if (num.match(RegExp))
        方法二:使用RegExp对象处理,也就是 new RegExp("^(\-)?[0-9]*$")

        也不知道都验证过没有,反正我们试过都达不到兼容效果,其实最根本(的)问题不是采取哪种正则对象,而是表达式中(的)"g"导致在Firefox中(的)效果和IE不一致,Firefox将该RegExp当成全局变量来处理了,所以最简单有效(的)办法就是将 var RegExp=/^(\-)?[0-9]*$/g 改为var RegExp=/^(\-)?[0-9]*$/ ,好(的)解决办法不在乎复杂,,而是对症下药,,这样(的)情况毕竟不常见..

    function isNum(num){
        if(num.length==0){
            return false;
         }

        var RegExp=/^(\-)?[0-9]*$/g;
        if (RegExp.test(num)){
            return true;
         }else{
            return false;
         }
    }


  • 相关阅读:
    svn cleanup failed–previous operation has not finished 解决方法
    开源SNS社区系统推荐
    从网络获取图片本地保存
    MS SQL Server 数据库连接字符串
    KeepAlive
    Configure Git in debian
    sqlserver query time
    RPi Text to Speech (Speech Synthesis)
    SQL Joins with C# LINQ
    search or reseed identity columns in sqlserver 2008
  • 原文地址:https://www.cnblogs.com/dodui/p/1813037.html
Copyright © 2011-2022 走看看