Swift中的URL验证 [英] URL validation in Swift

查看:77
本文介绍了Swift中的URL验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的Swift iOS项目中,我想在请求服务器之前检查是否为有效URL.我之前在Objective C代码中做了检查许多元素(例如www,http,https 、:等)的存在以验证是否正确的url. Swift代码中有类似的东西吗?

In my Swift iOS project, I want to check whether is the valid url or not before requesting to server. I did earlier in Objective C code to check many elements like presence of www, http, https, :, etc to validate whether the right url or not. Do we have anything similar in Swift code?

我期望像这样的Obj C方法.

I am expecting like this Obj C method.

 - (BOOL) validateUrl: (NSString *) candidate {
    NSString *urlRegEx =
    @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
    NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx]; 
    return [urlTest evaluateWithObject:candidate];
}

请提出建议.

推荐答案

Swift 4.x

这涵盖了所有类型的验证,例如带有或不带有HTTP/HTTPS的子域

This Covers all types of validation like Subdomain, with or without HTTP / HTTPS

func isValidUrl(url: String) -> Bool {
    let urlRegEx = "^(https?://)?(www\\.)?([-a-z0-9]{1,63}\\.)*?[a-z0-9][-a-z0-9]{0,61}[a-z0-9]\\.[a-z]{2,6}(/[-\\w@\\+\\.~#\\?&/=%]*)?$"
    let urlTest = NSPredicate(format:"SELF MATCHES %@", urlRegEx)
    let result = urlTest.evaluate(with: url)
    return result
}

希望这对您有用.

这篇关于Swift中的URL验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆