jQuery在变量中搜索文本?

tha*_*yan 7 javascript jquery

我有一个包含一些文本的变量,一些html,基本上可以是一个字符串.我需要在变量中搜索特定字符串,以便在包含该变量时以不同方式处理该变量.这是我要做的事情的片段,显然不起作用:)

$.each(data.results,
   function(i, results) {
   var text = this.text                   
   var pattern = new RegExp("^[SEARCHTERM]$");
    if(pattern.test( text ) )
    alert(text);  //was hoping this would alert the SEARCHTERM if found...
Run Code Online (Sandbox Code Playgroud)

use*_*716 13

您可以使用它.indexOf()来执行搜索.

如果找不到该字符串,则返回-1.如果找到它,它将返回它所在的第一个从零开始的索引.

var text = this.text;
var term = "SEARCHTERM";

if( text.indexOf( term ) != -1 )
    alert(term);
Run Code Online (Sandbox Code Playgroud)

如果您希望完全匹配,您可以使用^并且$似乎暗示,您可以进行===比较.

var text = this.text;
var term = "SEARCHTERM";

if( text === term )
    alert(term);
Run Code Online (Sandbox Code Playgroud)

编辑:根据你的评论,你想要一个完全匹配,但===不工作,indexOf()而是.如果有一些需要修剪的空白,有时就是这种情况.

尝试使用jQuery的jQuery.trim()方法修剪空白.

var text = $.trim( this.text );
var term = "SEARCHTERM";

if( text === term )
    alert(term);
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,我建议登录this.text控制台以查看它是否是您期望的值.