alert('spee_arr='+spee_arr);
if(spee_arr.indexOf('裸机')==-1){
alert('spee_arr没有包含--裸机');

}else{
alert("spee_arr包含了--裸机");

}
无论spee_arr中包含不包含"裸机"两个字,都会跳到“alert('spee_arr没有包含--裸机');
”这个里面。indexOf不能检索中文吗?还是怎么回事,那么我要检索 spee_arr 中是否有"裸机"两个字应该怎么写?

解决方案 »

  1.   

    var spee_arr = '裸机';
          alert('spee_arr='+spee_arr);
            if(spee_arr.indexOf('裸机')==-1){
                alert('spee_arr没有包含--裸机');
                 
                    }else{
                        alert("spee_arr包含了--裸机");
                         
                        }   我这里测试下,没问题的会进入第二个弹出
    所以也只能猜测你输入的信息有编码问题吧,不能确定,
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
        function test(){
            var spee_arr="裸机";
            alert('spee_arr='+spee_arr);
            if(spee_arr.indexOf('裸机')==-1){
                alert('spee_arr没有包含--裸机');
            }else{
                alert("spee_arr包含了--裸机");
            }   
        }
        </script>
    </head>
    <body>
        <input type="button" value="测试" onclick="test()" /><br />
    </body>
    </html>
    好象没有问题,你用这个试试
      

  3.   

    经过反复测试,我自己发现问题了!  因为spee_arr得值不确定,一般为“裸机购买,289元套餐”“裸机购买,裸机购买”  一般为这个值,如果判断“裸机”的时候,就会出现这个问题!  把“裸机”改为"裸机购买"  就好了。  不知道这是怎么回事!  
      

  4.   


    按理说不应该出现这个问题,我把这段程序单独拿出来也正常,但是做到源程序里就出现这种问题。可能是有别的影响吧。  而且 spee_arr 的值本身就是一个数组  通过 return spee_arr。的方式返回到函数中,然后在这个函数中进行的判断。  逻辑有点复杂。  不过还是很感谢大家!