2012-09-06 16 views
0

文字我有鏈接:入住使用jQuery

<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

+0

有一些jQuery驗證的可供下載的插件。你也可以採取regx的方法,但我會建議找到一個驗證插件,你可以沉入其中。 – Lowkase

+0

[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – ShadowScripter

回答

0

該功能將檢查您的所有<a>標籤,並返回包含文本的<a>元素列表。 Check out this 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); 
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/

2

無需jQuery的只是使用indexOf()

jsFiddle EXAMPLE

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

到了這裏,我甚至授予您的要求使用jQuery:

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

你的情況,那就是:

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

這應該工作。乾杯。