Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查javascript变量中是否存在文本_Javascript - Fatal编程技术网

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

如何检查javascript变量中是否存在文本,javascript,Javascript,我有一个包含一些文本的变量。我想检查课文中是否有某个单词 例如: var myString = 'This is some random text'; 我想检查一下“随机”这个词是否存在。谢谢您的帮助。您可以通过一个独立的功能来完成: function contains(str, text) { return str.indexOf(text) >= 0); } if(contains(myString, 'random')) { //myString contains "

我有一个包含一些文本的变量。我想检查课文中是否有某个单词

例如:

var myString = 'This is some random text';

我想检查一下“随机”这个词是否存在。谢谢您的帮助。

您可以通过一个独立的功能来完成:

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

if(contains(myString, 'random')) {
   //myString contains "random"
}
或者使用原型扩展:

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

if(myString.contains('random')) {
   //myString contains "random"
}

如果要专门测试单词“random”,可以使用如下正则表达式:

示例:

这样,它就不会匹配“random”是“randomize”一词的一部分的位置


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

示例:

关于雅各布, “contains”函数中缺少一个左括号

应该是

return (str.indexOf(text) >= 0);

我选择了Patricks Answer,并将其改编为一个函数

例子 使用

var ManyWords='This is a list of words';
var OneWord='word';
if (InString(ManyWords,OneWord)){alert(OneWord+' Already exists!');return;}

这将返回False,因为尽管变量ManyWords中存在“words”,但此函数仅显示“word”的精确匹配。

我一直在使用此函数,但它似乎对某些字符不起作用,例如:-5度(带负号返回False)有什么想法需要修复吗?@Ricky:可以执行
新建RegExp('\\s|\\b'+word+'\\s|\\b')
,但是如果字符串包含
-5度
,如果搜索
5度
,它会给出一个肯定的结果。现在似乎总是返回true。@Ricky:我忘了对它们进行分组。
new RegExp('(\\s|\\b)+word+'(\\s|\\b)]
。如果搜索的单词是文本的第一个,则将忽略该单词,如果未找到任何内容,则返回-1的索引将被忽略。
return str.indexOf(text) >= 0);
return (str.indexOf(text) >= 0);
function InString(myString,word)
    {
    var regex = new RegExp( '\\b' + word + '\\b' );
    var result = regex.test( myString );
    return( result );
    }
var ManyWords='This is a list of words';
var OneWord='word';
if (InString(ManyWords,OneWord)){alert(OneWord+' Already exists!');return;}