OStack程序员社区-中国程序员成长平台

标题: ios - 验证 iOS 的 url 以 www 开头 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 09:55
标题: ios - 验证 iOS 的 url 以 www 开头

我希望 url 以 www 开头并以 .com 、 .co 等任何类型结尾

example - www.example.com or any other.

我试过了

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

但它适用于 http 和 https



Best Answer-推荐答案


正则表达式非常强大,但是对于这个简单的情况,两个类别方法怎么样。

@implementation NSString (SuffixTest)

- (BOOL)jc_startsWithAnyOfNSArray*)prefixes
{
    for (NSString *candidate in prefixes) {
        if ([self hasPrefix:candidate]) {
            return YES;
        }
    }
    return NO;
}

- (BOOL)jc_endsWithAnyOfNSArray *)suffixes
{
    for (NSString *candidate in suffixes) {
        if ([self hasSuffix:candidate]) {
            return YES;
        }
    }
    return NO;
}


@end

然后用作:

- (BOOL)isValidAddressNSString*)string
{
    return [string jc_startsWithAnyOf[@"http://www.", @"https://www."]] && 
        [string jc_endsWithAnyOf[@"com", @"org"]];
}

。 . .稍微详细一点,但至少不需要查阅正则表达式文档来理解代码。

关于ios - 验证 iOS 的 url 以 www 开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26886698/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4