2011-05-19 77 views
9

我想檢查字符串b是否完全包含在字符串a中。
我想:JavaScript - 檢查必須包含另一個字符串的字符串

var a = "helloworld"; 
var b = "wold"; 
if(a.indexOf(b)) { 
    document.write('yes'); 
} else { 
    document.write('no'); 
} 

輸出是的,這不是我期望的輸出,因爲字符串B(爾德)沒有在字符串完全包含在(的HelloWorld)---沃爾德V.S.世界

任何建議檢查字符串?

+0

相關:[方法像JavaScript中的String.contains()](http://stackoverflow.com/questions/1789945/method-like-string-contains-in-javascript) – Bergi 2013-03-23 16:11:01

回答

6

閱讀文檔:MDC String.indexOf :)

indexOf返回索引號找到了該匹配項。這可能是0(意思是「在字符串的開始處找到」)並且0是falsy value

indexOf如果未找到針,則返回-1(-1是truthy value)。因此,需要調整測試邏輯以使用這些返回碼工作。找到的字符串(開頭或其他地方):index >= 0index > -1index != -1;未找到字符串:index < 0index == -1

快樂編碼。

1

您需要改爲使用if(a.indexOf(b) > -1)indexOf返回-1找不到字符串。

1

.indexOf返回-1如果找不到匹配項,這是一個truthy值。你需要更明確地檢查:

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

這是因爲indexOf返回-1如果值未找到:

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

你可能想用這個

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

您需要測試結果是否爲-1。 -1表示不匹配,但在布爾意義上評估爲true。

var a = "helloworld"; 
var b = "wold"; 
if(a.indexOf(b) > -1) { 
    document.write('yes'); 
} else { 
    document.write('no'); 
} 
相關問題