4

Cocoa に習熟するために、自作の Web ブラウザーを構築しようとしています。ユーザーが有効な URL を入力したかどうかを検証する良い方法が必要です。私はいくつかの正規表現を試しましたが、NSString にはいくつかの興味深い癖があり、私が見たほとんどの正規表現が使用している逆引用符の一部が好きではありません。

4

2 に答える 2

5

文字列の形式が正しくない場合に返される、の+ (id)URLWithString:(NSString *)URLStringメソッドから始めることができます。NSURLnil

さらに検証が必要な場合は、、、、、などのメソッドを使用してbaseURLURLの特定のコンポーネントを提供し、適切と思われる方法で評価することができます。hostparameterStringpath

于 2008-10-10T21:57:35.063 に答える
4

問題ないように見えても NSURL 作成メソッドによって拒否される URL を入力できることがわかりました。そのため、最初に文字列をエスケープして、適切な形式であることを確認する方法があります。これがその肉です:

NSString *escapedURLString =
    NSMakeCollectable(CFURLCreateStringByAddingPercentEscapes(NULL,
      (CFStringRef)URLString、
      (CFStringRef)@"%+#", // エスケープしない文字
      ヌル、
      kCFStringEncodingUTF8));
于 2008-10-10T23:45:07.030 に答える