Thank you, guys! It's good to know that they complement each other.
Two things. First, the email filter considers even _@d.c to be a valid email address. Second, there must be some newbie error but I can't get this to work:
if ($_POST["Submit"]) {
define('USERNAME_REGEX', '/^[a-z][\w\.\*\-\_]{2,14}$/i');
$username = $_POST["username"];
if ( !preg_match(constant("USERNAME_REGEX"), $username)) {
$error .= "Please enter a username. Use 3 to 15 characters and start with a letter. You may use
letters, numbers, hyphen, asterisk, underscores and dot (.) <br />";
}
}