如何检查javascript var中是否存在文本

jas*_*n45 3 javascript

我有一个包含一些文本的var.我想检查文本是否有某个词.

例:

var myString = 'This is some random text';
Run Code Online (Sandbox Code Playgroud)

我想检查"随机"这个词是否存在.谢谢你的帮助.

use*_*716 6

如果你想专门测试"随机"这个词,你可以使用这样的正则表达式:

示例: http ://jsfiddle.net/JMjpY/

var myString = 'This is some random text';
var word = 'random';
var regex = new RegExp( '\\b' + word + '\\b' );

var result = regex.test( myString );
Run Code Online (Sandbox Code Playgroud)

这样它就不会匹配"随机"是像"随机化"这样的单词的一部分.


如果您愿意,当然可以将其原型化为String:

示例: http ://jsfiddle.net/JMjpY/1/

String.prototype.containsWord = function( word ) {
    var regex = new RegExp( '\\b' + word + '\\b' );
    return regex.test( this );
};

myString.containsWord( "random" );
Run Code Online (Sandbox Code Playgroud)


Jac*_*kin 5

您可以使用独立功能执行此操作:

function contains(str, text) {
   return str.indexOf(text) >= 0);
}

if(contains(myString, 'random')) {
   //myString contains "random"
}
Run Code Online (Sandbox Code Playgroud)

或者使用原型扩展:

String.prototype.contains = String.prototype.contains || function(str) {
   return this.indexOf(str) >= 0;
}

if(myString.contains('random')) {
   //myString contains "random"
}
Run Code Online (Sandbox Code Playgroud)