如何检查字符串是否为锚标记?

时间:2015-08-21 19:34:35

标签: javascript

检查字符串是否是JS中的锚标记的最佳方法是什么?

一些例子:

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

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

有快速简便的方法吗? 以最简单的形式。只要有一个开头<a>和一个结束</a>

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式:

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);
}

答案 1 :(得分: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));