正在开发一个应用程序,在接受提交之前验证URL。
下面的代码接受简单的url,如www.google.com,但不值得使用更复杂的url,如www.google.com/?test-test
- (BOOL) validateUrl: (NSString *) candidate {
NSString *urlRegEx =
@"((\w)*|([0-9]*)|([-|_])*)+([\.|/]((\w)*|([0-9]*)|([-|_])*))+";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
return [urlTest evaluateWithObject:candidate];
}
引自Apple文档:
返回值用URLString初始化的NSURL对象。如果URL字符串格式错误或为nil,返回nil。
您可以通过实际尝试创建NSURL
对象来测试URL的有效性。
NSString* some_url1 = ...// your input
NSURL* u1 = [NSURL URLWithString:some_url1];
BOOL ok = u1 != nil;