首页 > 解决方案 > 如何在 golang 中验证图像 url?

问题描述

我想验证一个图像 url,我的代码将接受该图像 url,http如果https存在任何其他不被接受的 url,例如:-

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

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

标签: go

解决方案


如果您的标准只是“拥有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

推荐阅读