gpt4 book ai didi

swift - 如何验证 URL?

转载 作者:搜寻专家 更新时间:2023-10-30 22:34:25 25 4
gpt4 key购买 nike

我正在尝试使用 NSURL 验证 url,但它对我不起作用。

示例:

func verifyUrl (urlString: String?) -> Bool {
if let urlString = urlString {
if let _ = NSURL(string: urlString) {
return true
}
}
return false
}


let ex1 = "http://google.com"
let ex2 = "http://stackoverflow.com"
let ex3 = "Escolas" // Not a valid url, I think

verifyUrl(ex1) // true
verifyUrl(ex2) // true
verifyUrl(ex3) // true

我认为“Escolas”不能返回 true,我做错了什么?

最佳答案

我认为您缺少的是使用 UIApplication.sharedApplication().canOpenURL(url) 打开 url,例如,将您的代码更改为以下代码:

func verifyUrl (urlString: String?) -> Bool {
if let urlString = urlString {
if let url = NSURL(string: urlString) {
return UIApplication.sharedApplication().canOpenURL(url)
}
}
return false
}

verifyUrl("escola") // false
verifyUrl("http://wwww.google.com") // true

根据 AppleNSURL 的构造函数没有像您想象的那样验证 url :

This method expects URLString to contain only characters that are allowed in a properly formed URL. All other characters must be properly percent escaped. Any percent-escaped characters are interpreted using UTF-8 encoding

希望对你有帮助

关于swift - 如何验证 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35049322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com