【问题标题】:How do I validate if a string is valid Yelp URL in javascript? [closed]如何验证字符串是否是 javascript 中的有效 Yelp URL? [关闭]
【发布时间】:2014-10-10 07:36:15
【问题描述】:

Yelp URL 示例:

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 url 并返回 ID 吗?

注意:我相信有些人会粘贴以“www”而不是“http”开头的 URL。我还假设有些人会粘贴“https”。我想要一个适用于所有常见场景(无论它们是什么)的函数。我的函数应该适用于所有场景,但这绝对不是最好的方法。

【问题讨论】:

  • 定义“有效”。它应该只匹配模式还是应该实际解析为现有 URL?
  • @FelixKling 检查我的更新

标签: javascript regex


【解决方案1】:

你可以用这个:

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

【讨论】:

    猜你喜欢
    • 2011-04-25
    • 2019-11-15
    • 1970-01-01
    • 2021-01-26
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多