0

我有链接:

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

如何检查此链接中是否包含“号码”和“电话”字样?

我想要功能,例如:

   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

4

7 回答 7

2

不需要 jQuery 只需使用indexOf()

jsFiddle 示例

function check(token, value){
   return value.indexOf(token) >= 0;
}
于 2012-09-06T15:04:07.327 回答
0
RegExpObject.test(string)

在您的情况下,它将是:

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

这应该有效。干杯。

于 2012-09-06T15:12:33.363 回答
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);
于 2012-09-06T15:47:27.443 回答
0
   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/

于 2012-09-06T15:03:32.813 回答
0
function check(text, str) {
    var r = new RegExp(text, 'gi');
    return r.test(str);
}
于 2012-09-06T15:05:36.540 回答
0

在这里,我什至同意了您使用 jQuery 的请求:

var check = function(val, linkHtml) {
    return ($(linkHtml).attr("href").indexOf(val) >= 0);
}
于 2012-09-06T15:05:53.980 回答
0
function check(word, str) {
    var p = new RegExp(word);
    return str.match(p);
}
于 2012-09-06T15:06:20.130 回答