这个用不着正则, 用 indexOf() 最佳
str1 = "abc";
str2 = ",&abc,%abcd,*ABC";
alert(str2.indexOf(str1) > -1)

解决方案 »

  1.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var str1 = "abc";
    var str2 = "&abc,%abcd,*ABC";var re = eval("/(^|,)" + str1 + "($|,)/");alert(re.test(str2));
    //-->
    </SCRIPT>
      

  2.   

    要注意的是str1的abc同abcd, ABC不属包含范围
    用indexOf是会true的
    str1 = "abc";
    str2 = ",&abcSEFF,%abcd,*ABC";
    alert(str2.indexOf(str1) > -1)
      

  3.   

    没错的呀, indexOf() 是区分大小写的呀. 你自己可以试试 str1 = "abC" 是什么结果
      

  4.   

    不好意思,我的表达不清大家误解了str2是由一个逗号,加一个任意字符分割开,例如: ,#abc,&abcd,*ABC
    我要做的是把str2中的
    abc
    abcd
    ABC
    提取出来,再判断str1是否在其中,要求区分大小写,str1不能包含或被包含不知说清没有......
      

  5.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    str1 = "abc";
    str2 = ",&abc,%abcd,*ABC";
    var re = new RegExp(",(\\W|_)"+ str1);
    alert(re.test(str2));
    //-->
    </SCRIPT>
      

  6.   

    楼上再指点指点
    str2 = ",&abcd,*ABC";返回也是ture,因为包含abc
    但我要的是返回false,包含也不行
      

  7.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    str1 = "AB";
    str2 = ",&abc,%abcd,*ABC";
    var re = new RegExp(",(\\W|_)"+ str1 +"(,|$)");
    alert(re.test(str2));
    //-->
    </SCRIPT>