1. ホーム
  2. ios

[解決済み] iPhoneでURLの検証を行う方法

2023-04-05 23:53:09

質問

私が開発しているiPhoneアプリで、URLを入力する設定がありますが、form & functionのため、このURLはオンラインでもオフラインでも検証する必要があります。

これまでのところ、私はURLを検証する方法を見つけることができませんでしたので、質問です。

iPhone (Objective-C) 上で、オンラインおよびオフラインで URL 入力を検証するにはどうすればよいでしょうか。

どのように解決するのですか?

おかげさまで この投稿 のおかげで、RegexKitを使わなくて済むようになりました。 以下は、私の解決策です(iOS > 3.0でのiphone開発で動作します) :

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

もし、Swiftで確認したい場合は、以下の私の解決策を参照してください。

 func isValidUrl(url: String) -> Bool {
        let urlRegEx = "^(https?://)?(www\\.)?([-a-z0-9]{1,63}\\.)*?[a-z0-9][-a-z0-9]{0,61}[a-z0-9]\\.[a-z]{2,6}(/[-\\w@\\+\\.~#\\?&/=%]*)?$"
        let urlTest = NSPredicate(format:"SELF MATCHES %@", urlRegEx)
        let result = urlTest.evaluate(with: url)
        return result
    }