如何检查一个字符串是否包含特定的单词
$a = 'how are you';
if (strpos($a,'are') !== false) {
echo 'true';
}
在PHP中,我们可以使用上面的代码来检查一个字符串是否包含特定的单词,但我怎样才能在JavaScript / jQuery中执行相同的功能?
如果你正在寻找确切的单词并且不希望它匹配诸如“噩梦”(这可能是你需要的),你可以使用正则表达式:
/bareb/gi
b = word boundary
g = global
i = case insensitive (if needed)
如果你只是想找到字符“是”,然后使用indexOf
。
如果你想匹配任意的单词,你必须根据单词字符串以编程方式构造一个RegExp(正则表达式)对象本身并使用test
。
你可以使用indexOf来做到这一点
var a = 'how are you';
if (a.indexOf('are') > -1) {
return true;
} else {
return false;
}
编辑 :这是一个古老的答案,每隔一段时间都会收票,所以我想我应该澄清一点,在上面的代码中, if
子句并不是必需的,因为表达式本身是一个布尔值。 这是你应该使用的更好的版本,
var a = 'how are you';
return a.indexOf('are') > -1;
indexOf
不应该用于此。
正确的功能:
function wordInString(s, word){
return new RegExp( 'b' + word + 'b', 'i').test(s);
}
wordInString('did you, or did you not, get why?', 'you') // true
这会找到一个词,真实的词,不只是如果这个词的字母是在字符串中的某个地方。
链接地址: http://www.djcxy.com/p/74091.html上一篇: How to check if a string contain specific words
下一篇: How to tell if a string contains a certain character in JavaScript?