如何在golang中验证图片网址?

时间:2018-11-17 05:43:34

标签: go

我想验证一个图像网址,如果存在其他不被接受的网址,我的代码将接受具有httphttps的图像网址,例如:-< / p>

fnc main(){
   var url1,url2,url3 string
   url1 = "/image.png" // not accepted
   url2 = "http://abc/image.jpg"  // accepted
   url3 = "https://abc/image.jpg" // accepted
}

此验证使用什么正则表达式?

2 个答案:

答案 0 :(得分:2)

如果您的条件仅是“具有http”,则只需使用strings.HasPrefix

if strings.HasPrefix(url1, "http://") || strings.HasPrefix(url1, "https://") {
    // Valid URL
}

但是,您可以使用url.Parse并检查scheme

uri, err := url.Parse(url1)
if err != nil && uri.Scheme != "http" && uri.Scheme != "https" {
    // Error
}

// Valid URL

答案 1 :(得分:0)

matched, err := regexp.MatchString("^http.*://", "https://www.google.com")

Goplayground Example