关于javascript:检查必须包含另一个字符串的字符串

Check a string that MUST contain another string

本问题已经有最佳答案,请猛点这里访问。

我想检查字符串b是否完全包含在字符串a中。
我试过:

1
2
3
4
5
6
7
var a ="helloworld";
var b ="wold";
if(a.indexOf(b)) {
    document.write('yes');
} else {
    document.write('no');
}

输出是肯定的,这不是我期望的输出,因为字符串B(wld)不完全包含在字符串A(helloworld)---wld v.s.world中

有没有建议检查字符串?


阅读文档:mdc string.indexof:。

indexOf返回匹配的索引。这可能是0(意思是"在字符串的开头找到"),0是一个不稳定的值。

如果没有找到针,indexOf将返回-1(并且-1是一个真实值)。因此,需要使用这些返回代码调整测试逻辑以工作。找到的字符串(在开头或其他地方):index >= 0index > -1index != -1;没有找到的字符串:index < 0index == -1

快乐编码。


您需要测试结果是否为-1。-1表示不匹配,但在布尔值意义上计算为真。

1
2
3
4
5
6
7
var a ="helloworld";
var b ="wold";
if(a.indexOf(b) > -1) {
  document.write('yes');
} else {
  document.write('no');
}


如果找不到匹配项,.indexOf返回-1,这是一个真实的值。您需要更明确地检查:

1
if (a.indexOf(b) != -1)

你需要用if(a.indexOf(b) > -1)来代替。当找不到字符串时,indexOf返回-1


你可能想用这个

1
if(a.indexOf(b) != -1)

这是因为如果找不到值,indexOf返回-1:

1
if(a.indexOf(b) != -1) {