如何在javascript中验证字符串是否有效Yelp URL?

时间:2014-08-17 01:26:24

标签: javascript regex

示例Yelp网址:

http://www.yelp.com/biz/benu-san-francisco-4
http://www.yelp.com/biz/coi-san-francisco

最后一部分是 yelp_id ,应该返回。如果URL无效,则该函数应返回null。

这是我的实现,但它可能不是编写它的最佳方式。

function getYelpID(url){
    if(url.indexOf('yelp.com/biz/') >= 0){
        var sp = url.split('/');
        if(sp.length >= 3){
            return sp[sp.length - 1];
        }else{
            return null;
        }
    }else{
        return null;
    }
}

有人可以帮助我更好地验证YELP网址并返回ID吗?

注意:我确定有些人会粘贴一个以" www"而不是" http"。我还假设有些人会粘贴" https"代替。我想要一个适用于所有常见场景的函数(无论它们是什么)。我的功能应该适用于所有场景,但它绝对不是最好的方法。

1 个答案:

答案 0 :(得分:0)

您可以使用:

function getYelpID(url) {
    var m=/^(?:https?:\/\/)?(www\.)?yelp\.com\/biz\/([^\/]+)$/i.exec(str);
    return m ? m[1] : null;
}