0

私はリンクを持っています:

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

このリンクに「number」と「phone」という単語があるかどうかを確認するにはどうすればよいですか?

たとえば、関数が欲しいです:

   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 に答える