[^163]我现在被匹配字符中只要含1,6,3就匹配,而我只是要求163一块出现时才匹配,其他则不匹配,怎么改呢?

解决方案 »

  1.   


    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
            <title></title>
            <script language="JavaScript" type="text/javascript">
                window.onload=function(){
                    var s="123456789";
                    if((s.indexOf("1")>=0)&&(s.indexOf("6"))>=0&&(s.indexOf("3"))>=0) alert("有163");
                }        </script>
        </head>
        <body>
        </body>
    </html>
      

  2.   


    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
            <title></title>
            <script language="JavaScript" type="text/javascript">
                window.onload=function(){
                    var s="1111111113111456661111111126";
                    var rex=/[^1\6\3]*[1]+[^1\6\3]*/g;
                    var rex1=/[^1\6\3]*[6]+[^1\6\3]*/g;
                    var rex2=/[^1\6\3]*[3]+[^1\6\3]*/g;
                    if(rex.test(s)&&rex1.test(s)&&rex2.test(s)) alert("163");
                }        </script>
        </head>
        <body>
        </body>
    </html>
      

  3.   


    var str = "16131234561643";var s = /(?=163)/.test(str);alert(s);
      

  4.   

    匹配非163(连续的),如16com,166663,163ddd
    如果出现163连续的,我的意思是只有163,就不匹配
      

  5.   

    \b163\w+\b|\b\w+163\b|\b\w+163\w+\b|\b((?!163)\w)+\b
    难看了点,但满足你的要求了
      

  6.   

    163ddd不是就163连续出现了?你是要在字符串中只有163出现还是在字符串中如果出现了连续的163
      

  7.   

    var a = /[1][6][3]/g;
    if (!a.exec(document.getElementById("txt").value))
    alert(document.getElementById("txt").value);