在我正在开发的一个iPhone应用程序中,有一个设置可以让您输入URL,因为表单&;函数需要在线和离线验证此URL.
到目前为止,我还没有找到任何方法来验证url,所以问题是;
如何在线和离线验证iPhone(Objective-C)上的URL输入?
在我正在开发的一个iPhone应用程序中,有一个设置可以让您输入URL,因为表单&;函数需要在线和离线验证此URL.
到目前为止,我还没有找到任何方法来验证url,所以问题是;
如何在线和离线验证iPhone(Objective-C)上的URL输入?
Thanks to this post, you can avoid using RegexKit. Here is my solution (works for iphone development with iOS > 3.0) :
- (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,我的解决方案如下:
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
}