RegExp测试有两个变量:可能吗?

时间:2014-11-06 14:37:10

标签: javascript regex

我正在尝试使用Test()方法,就像我在这里做的那样:

var namealbum = data.data[i].name;
var text = namealbum;

if (/les comics d/i.test(text) == false) {
            //do nothing
        } else {

        var albumid = data.data[i].id;
            $('body').append('<section id="album album'+j+'"><h2 id="album_title">'+text+'</h2><div id="images"></div></section>');

但我想知道是否可以将此方法用于两个变量。

有点像这样:

var comicname = photos.data[i].name;
var comicpicture= photos.data[i].source;
var comiclink = photos.data[i].link;


    if (albumid.test(comiclink) == false){
    }else {
      $('#images').append('<img src="'+comicpicture+'"/>');
    };

实际上,我想测试变量 comiclink中存储的照片链接中是否有变量 albumid 的内容(这是一张专辑的ID)

我希望你们能理解我糟糕的英语。

谢谢你!

1 个答案:

答案 0 :(得分:0)

在这种情况下,不需要使用正则表达式,您可以String.indexOf()喜欢

if (comiclink.toLowerCase().indexOf(albumid.toLowerCase()) > -1) {

如果您仍想使用正则表达式

//on page load
if (!RegExp.escape) {
    RegExp.escape = function (value) {
        return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
    };
}



var regex = new RegExp(RegExp.escape(albumid), 'i');
if (regex.test(comiclink) == false) {} else {
    $('#images').append('<img src="' + comicpicture + '"/>');
};