code: function DomainNameRule(data) {
          if (typeof (data) === "undefined") {
              return;
          }
  
          //
          // matches
          //
          this.domain = data.domain;
  
          if (data.aliases instanceof Array) {
              this.aliases = data.aliases.slice();
          } else {
              this.aliases = [];
          }
  
          // description (versions)
          this.description = data.description;
  
          //
          // rules
          //
          this.min = (typeof data.min !== "undefined") ? (parseInt(data.min, 10) || 0) : 0;
          this.max = (typeof data.max !== "undefined") ? (parseInt(data.max, 10) || Number.MAX_VALUE) : Number.MAX_VALUE;
          this.invalid = (typeof data.invalid !== "undefined") ? data.invalid : "";
          this.required = (typeof data.required !== "undefined") ? data.required : "";
  
          this.regex = data.regex;
          this.validregex = data.validregex;
      }
docs: Constructor  
  Creates a new DomainNameRule
  
  @param {object} data Parameters