2013-03-01 81 views
1

在JavaScript if ... else語句中,而不是檢查變量是否等於(==)值,是否可以檢查變量是否包含值?javascript變量包含而不是等於

var blah = unicorns are pretty; 
if(blah == 'unicorns') {};  //instead of doing this, 
if(blah includes 'unicorns') {}; //can i do this? 

此外,它包含的詞應該是變量的第一個詞。謝謝!!!

+0

和一個「字」是字符序列形成字符串的開頭到第一空間?那麼''獨角獸是偉大的''呢? – 2013-03-01 00:23:36

回答

1
if(blah.indexOf('unicorns') == 0) { 
    // the string "unicorns" was first in the string referenced by blah. 
} 

if(blah.indexOf('unicorns') > -1) { 
    // the string "unicorns" was found in the string referenced by blah. 
} 

​​

要刪除一個字符串的第一次出現:

blah = blah.replace('unicorns', ''); 
+0

謝謝!另外,我可以從變量中刪除「獨角獸」嗎? – 2013-03-01 00:25:44

+1

@ThomasLai:http://stackoverflow.com/questions/5095000/jquery-remove-string-from-string。 – 2013-03-01 00:34:32

1

你也可以使用一個快速的正則表達式測試:

if (/unicorns/.test(blah)) { 
    // has "unicorns" 
} 
+1

要檢查* first *單詞,您需要'if(/^unicorns/.test(blah))' – 2013-03-01 00:31:50

1

如果 「第一個字」 ,你的意思是從字符串開頭到第一個空格的字符序列,那麼這就行了它:

if ((sentence + ' ').indexOf('unicorns ') === 0) { 
    //   note the trailing space^
} 

如果不是空格它可以是任何空白字符,您應該使用正則表達式:

if (/^unicorns(\s|$)/.test(sentence)) { 
    // ... 
} 

// or dynamically 
var search = 'unicorns'; 
if (RegExp('^' + search + '(\\s|$)').test(sentence)) { 
    // ... 
} 

您還可以使用單詞邊界特殊字符,這取決於您想要的語言匹配:

if (/^unicorns\b/.test(sentence)) { 
    // ... 
} 

More about regular expressions.


相關問題: