我正在通过以下方法验证网址:
+ (BOOL)confirmValidUrl:(NSString *)url {
BOOL isValidURL = NO;
NSString *urlRegEx = @"(?:www\\.)?[\\w\\d\\-_]+\\.\\w{2,3}(\\.\\w{2})?(/(?<=/)(?:[\\w\\d\\-./_]+)?)?";
NSPredicate *urlPredic = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
isValidURL = [urlPredic evaluateWithObject:url];
return isValidURL;
}
现在,我需要将带有表情符号(如 http://.la )的URL标记为有效URL,但是我没有找到与此相关的任何东西,有人知道我应该如何修改我的方法做我想要的吗?
谢谢。
答案 0 :(得分:0)
您可以使用此: e.x。http://www.xn--vi8hiv.ws/
+ (BOOL) urlIsValiad: (NSString *) url
{
NSString *regex =
@"((?:http|https)://)?(?:[A-Za-z0-9]{1,25}\\.)?[\\w\\d\\-_]+\\.\\w{2,3}(\\.\\w{2})?(/(?<=/)(?:[\\w\\d\\-./_]+)?)?";
NSPredicate *regextest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([regextest evaluateWithObject: url] == YES) {
NSLog(@"URL is valid!");
} else {
NSLog(@"URL is not valid!");
}
return [regextest evaluateWithObject:url];
}