If you're going to use `this.str` so many times, cache it (JavaScript property lookups are slow):

```javaascript
validate.extend( 'isDomain', function () {
  var str = this.str;
  return ( "string" === typeof( str )
  ...
```