<p>I am trying to build a homebrew web brower to get more proficient at Cocoa. I need a good way to validate whether the user has entered a valid URL. I have tried some regular expressions but NSString has some interesting quirks and doesn't like some of the back-quoting that most regular expressions I've seen use.</p>

You could start with the
```
+ (id)URLWithString:(NSString *)URLString
```
method of
```
NSURL
```
, which returns
```
nil
```
if the string is malformed.
If you need further validation, you can use the
```
baseURL
```
,
```
host
```
,
```
parameterString
```
,
```
path
```
, etc methods to give you particular components of the URL, which you can then evaluate in whatever way you see fit.