在javascript,有一个string s="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17",怎样判断"1","2","3"在不在这个s中,是不是要先把这个s转换成list,然后用list.contains判断,js里面有java中的这样的方法吗?
谁能帮我写一下判断代码??

解决方案 »

  1.   

    var Cts = "bblText"; 
    if(Cts.indexOf("Text") > 0 ){ 
        alert('Cts中包含Text字符串'); 
      

  2.   

    话说 楼主 用java java 貌似有indexOf
      

  3.   

    ①、在字符串的两边加","
    ②、javascript用indexOf()或则search()与-1比较都可以,记得是-1不是0哟。java可以直接用contains而不用转为list,应为String也有contains方法。解释下为什么加",",主要是为了结果的正确性,比如"abc, de, fgh"中是否包含"bc",如果仅仅用答案是否定的,但是仅仅用indexOf和search与-1比较都返回true。
    再解释下为什么要和-1比较而不是0,字符串下标从0开始,检索不到结果返回-1。
    完整事例:
    var str = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"
    var srcStr = "1";
    if ((',' + str + ',').search(',' + srcStr +',') > -1) {
        alert(srcStr + ' is contains in ' + str);
    }
    为了进一步验证","可以将var str = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"
    还为var str = "2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"然后分别用1楼的方法和我的方法测试看看结果。
      

  4.   


    直接用indexof就行了,查找到了,返回对应的下标,没有找到,返回-1!
      

  5.   

    用indexOf有bug的
    如果你想知道1在不在里面 但是有个选项是12 你猜咋办
    s="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";
    var arr = s.split(',');
    console.log(12 in arr)// console.log('12' in arr);
      

  6.   

    indexOf容易形成误判,用search准确些var s = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";
    var r = new RegExp('(^|,)' + 3 + '(,|$)');
    console.log(s.search(r)) 
      

  7.   


    <script type="text/javascript">
    var s="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";
    var c=s.split(",");
    var t="1,2,3,18,22,5";
    var b=t.split(",");
    for(var i=0;i<b.length;i++){
    var find=0;
    for(var j=0;j<c.length;j++){
    if(b[i]==c[j]){
    find=1;
    break;
    }
    }
    if(find) alert(b[i]+"在字符串S中,对应新数组C下标为"+j);
    else 
    alert(b[i]+"不在字符串S中");
    }
    </script>
      

  8.   

    用 jQuery :<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function(){
                var s = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17";
                var sArr = s.split(",");
                var r = "16";
                if ( $.inArray(r,sArr)==-1 ){
                    alert(r+"不在"+s+"中");
                }else{
                    alert(r+"在"+s+"中");
                }
            });
        </script>
    </head>
    <body>
    </body>
    </html>