不包含某字符串的正则表达式怎么写?
曾经有人这样写:^((?!test).)*$
在ie6下支持 但在ie5下不支持啊!

解决方案 »

  1.   

    [^test]是逐个检测"t""e""s""t"中的任意一个字符,不是整个字符串吧
      

  2.   

    你可以用包含来判断
    var str1="test"
    var str="abcddtestdabceee"
    var str2="abcddtastdabceee"
    var reg=new RegExp(str1,"gi")
    alert(reg.test(str))
    alert(reg.test(str2))
      

  3.   

    ^(test)*
    这样?
    IE5不支持可能啊..因为不支持ECMASCRIPT啊~~IE5.5就支持啦~~~
    IE5下要用JScript可能就支持了...
      

  4.   

    var str1="test"
    var str="abcddtestdabceee"
    var reg=new RegExp(str1,"gi")
    alert(reg.test(str))
    只是可以直接判断是否包含,我需要的是正则表达式:不包含某字符串的正则表达式
      

  5.   

    你 langueage="jscript"试下~~js从IE3.0时放出的1.0就开始支持标准正则了
      

  6.   

    to muxrwc:
    一旦字符串中出现"tex",var source = "hint:^--#tex@--b#@#";
    则alert(RegExp.$1);显示不出来了啦?怎么回事呢?
    <script type="text/javascript">
    var source = "hint:^--#@--b#@#";
    var name = "hint";
    source = source.replace(/\0xff/g, "").replace(/#@#/g, "\0xff");
    var reg = new RegExp(name + "\\s*:\\s*([^\0xff]*)(\\s|\0xff|$)", "i");
    if (reg.test(source)) {
    alert("--存在--");
    alert(RegExp.$1);
    }
    source = source.replace(/\0xff/g, "#@#");
    //其中,需要过滤的字符串是#@#.
    //我的要求是:去匹配是否存在该模式new RegExp(name +"\\s*:\\s*(((?!#@#).)*)(\\s|#@#|$)", "i");的字符串
    </script>