从这个着名的high-voted question我找到了一种有效的方法来检查字符串是否包含另一个字符串String.indexOf。
var abcde = "abcdefg";
var abc = "abc";
alert(abc.indexOf(abcde) != -1);//return true
但是当我尝试这样做时:
var url = "https://stackoverflow.com/questions/1789945/method-like-string-contains-in-javascript";
var s = "stackoverflow";
alert(s.indexOf(url) != -1); //**return false,but I think it 'should' return true!**
我很好奇为什么包含符号或斜线 / 的更复杂似乎失败了。或者我错过了什么?
答案 0 :(得分:5)
您搜索的字符串是参数,而不是接收者。
更改
alert(s.indexOf(url) != -1);
到
alert(url.indexOf(s) != -1);
(为了您自己的安慰,您还应该使用console.log代替警报)