簡體   English   中英

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

[英]how to check if text exists in javascript var

我有一個包含一些文本的var。 我想檢查文本是否有某個詞。

例:

var myString = 'This is some random text';

我想檢查“隨機”這個詞是否存在。 謝謝你的幫助。

如果你想專門測試“隨機”這個詞,你可以使用這樣的正則表達式:

示例: 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 );

這樣它就不會匹配“隨機”是像“隨機化”這樣的單詞的一部分。


如果您願意,當然可以將其原型化為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" );

您可以使用獨立功能執行此操作:

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"
}

關於Jacob,'contains'功能中缺少Opening Bracket。

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

應該

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

我選擇了Patricks Answer並將其改編成一個函數

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;}

這將返回False,因為盡管變量ManyWords中存在“單詞”,但此函數僅顯示“單詞”的完全匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM