// summary: Builds a regular expression that matches an email address////flags: An object// flags.allowCruft Allow address like <mailto:foo@yahoo.com>. Default is false.// flags in regexp.host can be applied.// flags in regexp.ipAddress can be applied.// flags in regexp.tld can be applied.// assign default values to missing paramters
flags = (typeof flags == "object") ? flags : {};
if(typeof flags.allowCruft!= "boolean"){ flags.allowCruft = false; }
flags.allowPort = false; // invalid in email addresses// user name RE - apostrophes are valid if there's not 2 in a rowvar usernameRE = "([\\da-zA-Z]+[-._+&'])*[\\da-zA-Z]+";
// build emailAddress REvar emailAddressRE = usernameRE + "@" + dojox.regexp.host(flags);
// Allow email addresses with cruftif( flags.allowCruft){
emailAddressRE = "<?(mailto\\:)?" + emailAddressRE + ">?";
}return emailAddressRE; // String