验证在Objective-C中包含表情符号的URL

时间:2018-07-10 12:32:35

标签: ios objective-c

我正在通过以下方法验证网址:

+ (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,但是我没有找到与此相关的任何东西,有人知道我应该如何修改我的方法做我想要的吗?

谢谢。

1 个答案:

答案 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];
}