在Swift 3中验证URL

时间:2016-10-12 10:55:50

标签: regex swift

我正在尝试验证Swift 3中的URL,但我似乎无法找到适合我需要的正则表达式。我所追求的正则表达式需要接受以下组合:

http://google.com
http://google.com/foo/bar:30/35
https://google.com
https://google.com/foo/bar:30/35
www.google.com
google.com

1 个答案:

答案 0 :(得分:6)

func validateUrl (urlString: NSString) -> Bool {
    let urlRegEx = "((?:http|https)://)?(?:www\\.)?[\\w\\d\\-_]+\\.\\w{2,3}(\\.\\w{2})?(/(?<=/)(?:[\\w\\d\\-./_]+)?)?"
    return NSPredicate(format: "SELF MATCHES %@", urlRegEx).evaluateWithObject(urlString)
}

这很有用。