2015-08-21 52 views
-1

什麼是檢查一個字符串是否是JS中的錨定標記的最佳方法?如何檢查一個字符串是否是一個錨標籤?

一些例子:

<a href='./page'>Link</a> //returns true 

<a href='./page'> //returns false 

是否有一個快速簡便的方法? 最簡單的形式。只要有開口<a>和關閉</a>

+0

''作爲錨標籤? – blex

+0

你最近怎麼樣? –

+0

@blex是的,這是一個錨標籤。 @DaveNewton像我一樣說'var string =「」' – lzc

回答

0

您可以使用正則表達式是:

function isAnchor(str){ 
    return /^\<a.*\>.*\<\/a\>/i.test(str); 
} 

演示

var testStrings = [ 
 
    '<a href="./page">Hello</a>',   // true 
 
    '<a>Hi</a>',       // true 
 
    '<a href=\'test.php\'>Yo</a>',   // true 
 
    '<A HREF=\'test.php\'>UPPERCASE</A>', // true - not case-sensitive 
 
    'test',         // false 
 
    '<a href="./page">Hello',    // false - tag not closed 
 
    '<span>Hi again</span>'     // false 
 
]; 
 

 
for(var i=0; i<testStrings.length; i++){ 
 
    var str = testStrings[i]; 
 
    document.body.innerHTML += str + ' => ' + isAnchor(str) + '<br>'; 
 
} 
 

 
function isAnchor(str){ 
 
    return /^\<a.*\>.*\<\/a\>/i.test(str); 
 
}

0

也許這將指向你在正確的方向:

var stringOne = "<a href='./page'>Link</a>"; 
var stringTwo = "<a href='./page'>"; 

function isA(str){ 
    if (str.indexOf("href") > -1 && str.indexOf("</a>") > -1){ 
     return true; 
    }else{ 
     return false; 
    } 
} 

console.log(isA(stringOne)); 
console.log(isA(stringTwo)); 
相關問題