使用jQuery签入文本

Check in text with jQuery

本文关键字:文本 jQuery 使用      更新时间:2023-09-26

我有链接:

<a href="/test/number/3/phone/0">33df</a>

我如何检查这个链接中是否有单词"号码"answers"电话"?

例如,我想要功能:

   check('number', '<a href="/test/number/3/phone/0">33df</a>'); //return TRUE
   check('phone', '<a href="/test/number/3/phone/0">33df</a>'); //return TRUE
   check('mail', '<a href="/test/number/3/phone/0">33df</a>'); //return FALSE

我想使用jQuery

不需要jQuery,只需使用indexOf()

jsFiddle示例

function check(token, value){
   return value.indexOf(token) >= 0;
}

此函数将检查所有<a>标记,并返回包含文本的<a>元素列表看看这个jsFiddle

function check(text, elements){
    var list = [];
    if(!elements)
        $('a').each(function(){
            if($(this).attr('href').indexOf(text)!=-1)
                list.push(this);
        });
    else
        $.each(elements,function(){
            if($(this).attr('href').indexOf(text)!=-1)
                list.push(this);
        });
    return list;
}
console.log(check('number'));

如果您想测试并确保返回包含多个单词的<a>元素,那么可以执行以下操作:

matches = check('number');
matches = check('phone', matches);
matches = check('mail', matches);
console.log(matches);
   var href = $("a").attr("href");
    if(href.indexOf("number") >= 0){
     alert("contains number");   
    }
    if(href.indexOf("phone") >= 0){
     alert("contains phone");   
    }
    if(href.indexOf("mail") >= 0){
     alert("contains mail");   
    }

请参阅演示:http://jsfiddle.net/CcLHz/

function check(text, str) {
    var r = new RegExp(text, 'gi');
    return r.test(str);
}

在这里,我甚至批准了您使用jQuery:的请求

var check = function(val, linkHtml) {
    return ($(linkHtml).attr("href").indexOf(val) >= 0);
}
function check(word, str) {
    var p = new RegExp(word);
    return str.match(p);
}
RegExpObject.test(string)

在您的情况下,它将是:

if(/(phone)+|(number)+/.test('<a href="/test/number/3/phone/0">33df</a>'))
{
//returns true
}else{
//returns false
}

这应该行得通。干杯