干什么非用正则?
直接用indexOf不可以么?

解决方案 »

  1.   

    <script language="javascript">
    var pat = /济南|泉城/;
    var content = "某某";
    if (!(/北京/.test(content))) {
    if (pat.test(content)) alert("OK");
    else alert("错误");
    } else {
    alert("错误");
    }
    </script>
      

  2.   

    var content = "某某"; //要验证的内容
    正则里面能放中文。
      

  3.   

    <script type="text/javascript">
    //<![CDATA[
    var $str="山东济南是泉城,景色迷人"
    function fCkStr(str){
    re=/山东|济南/
    re_=/北京/
    if((re.test(str))&&(!(re_.test(str)))){
    alert('ok');
    } else alert('invalid');
    }
    fCkStr($str);
    //]]>
    </script>
      

  4.   

    这样清晰一点, 一堆括号, 看到就晕...<script type="text/javascript">
    //<![CDATA[
    var $str="山东济南是泉城,景色迷人"
    function fCkStr(str){
    re=/山东|济南/;
    re_=/北京/;
    if(re.test(str)&&!re_.test(str)){
    alert('ok');
    } else alert('invalid');
    }
    fCkStr($str);
    //]]>
    </script>
      

  5.   

    呵呵, 楼上好, 没跑哪...呀, 这个问题我理解错了, 正则可能不好判断, 还是 if switch 之类得了.
      

  6.   

    <script type="text/javascript">
    //<![CDATA[
    var $str="山东济南是泉城,景色迷人"
    function fCkStr(str){
    var num=0
    if(str.indexOf('山东')>-1)num++;
    if(str.indexOf('济南')>-1)num++;
    var re=/北京/;
    document.write(num);
    if(num==2&&!re.test(str)){
    alert('ok')
    } else alert('invalid');
    }
    fCkStr($str);
    //]]>
    </script>
      

  7.   

    楼上可能没有明白我的意思~.我说是用正则表达式来写!
    如果你从数据库里检索出很多关键字!那怎么匹配!??
    我的意思是!如下例:$string_1[0]="我想买一个男女共同用玩具";
    $string_1[1]="我想要一个男同用玩具";
    $string_1[2]="我想要一个男能用玩具";
    $string_1[3]="我想要一个女同用玩具";
    $string_1[4]="我想要一个女能用玩具";
    $string_1[5]="我想买一个男女都可以用玩具";
    $string_1[6]="我想买一个男女都能用玩具";
    $message_str=$string_1[rand(0,6)];
    $keyword[0]="/^.*男.*女.*(共|都).*玩具.*$/";
    $keyword[1]="/^.*(要|买).*男[^女][^(共用|都)].*玩具.*$/";
    $keyword[2]="/^.*(要|买).*女[^(共用|都)].*玩具.*$/";
    //$keyword[3]="/^.*(要|买).*男女[^共].*玩具.*$/";for($i=0;$i<count($keyword);$i++){
    preg_match($keyword[$i],$message_str,$result);
    echo "关键字编号: $i 正则表达式=".$keyword[$i]." _ 顾客说的话 : ".$message_str."<br>";
    if(count($result[0])>0)echo "<font color=\"red\">匹配: 正则表达式=".$keyword[$i]." _  顾客说的话 ".$message_str."</font><br>";
    }?>