URL 验证(Objective-C)
我正在尝试使用此方法验证 URL:
代码:
- (BOOL) validateUrl: (NSString *) candidate {
NSString *urlRegEx=
@"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
return [urlTest evaluateWithObject:candidate];
}
它不起作用。我认为问题出在正则表达式上。
I am trying to validate a URL with this method:
Code:
- (BOOL) validateUrl: (NSString *) candidate {
NSString *urlRegEx=
@"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
return [urlTest evaluateWithObject:candidate];
}
It does not function. I think the problem is with the regular expression.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用
+ (id)URLWithString:(NSString *)URLString
方法NSURL
,如果字符串格式错误,则返回nil
。使用
if (URL && URL.scheme && URL.host)
检查 URL。You can use
+ (id)URLWithString:(NSString *)URLString
method ofNSURL
, which returnsnil
if the string is malformed.Use
if (URL && URL.scheme && URL.host)
for checking URL.试试这个..
它可能会帮助你。
Try with this..
it may help u out.
使用以下内容怎么样:
NSURL * url = [NSURL URLWithString:@"http://www.google.com"];
BOOL isValid = [UIApplication.sharedApplication canOpenURL:url];
注意:最佳实践是使用正则表达式
What about using the following:
NSURL * url = [NSURL URLWithString:@"http://www.google.com"];
BOOL isValid = [UIApplication.sharedApplication canOpenURL:url];
note: best practice is to use regex