URL 验证(Objective-C)

发布于 2024-12-17 09:49:28 字数 413 浏览 1 评论 0原文

我正在尝试使用此方法验证 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

つ低調成傷 2024-12-24 09:49:28

您可以使用 + (id)URLWithString:(NSString *)URLString 方法NSURL,如果字符串格式错误,则返回 nil

使用 if (URL && URL.scheme && URL.host) 检查 URL。

You can use + (id)URLWithString:(NSString *)URLString method of NSURL, which returns nil if the string is malformed.

Use if (URL && URL.scheme && URL.host) for checking URL.

俏︾媚 2024-12-24 09:49:28

试试这个..

- (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];
}

它可能会帮助你。

Try with this..

- (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];
}

it may help u out.

甲如呢乙后呢 2024-12-24 09:49:28

使用以下内容怎么样:

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

寒冷纷飞旳雪 2024-12-24 09:49:28
NSString *urlRegEx = @"http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
NSString *urlRegEx = @"http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文