2015-08-21 51 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)); 
相关问题