var Cts = "bblText"; if(Cts.indexOf("Text") > 0 ){ alert('Cts中包含Text字符串'); }
话说 楼主 用java java 貌似有indexOf
①、在字符串的两边加"," ②、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楼的方法和我的方法测试看看结果。
直接用indexof就行了,查找到了,返回对应的下标,没有找到,返回-1!
用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);
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))
<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>
用 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>
if(Cts.indexOf("Text") > 0 ){
alert('Cts中包含Text字符串');
}
②、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楼的方法和我的方法测试看看结果。
直接用indexof就行了,查找到了,返回对应的下标,没有找到,返回-1!
如果你想知道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);
var r = new RegExp('(^|,)' + 3 + '(,|$)');
console.log(s.search(r))
<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>
<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>