technically an email address can contain almost any characters as long as they're in quotes, i.e
"John Smithÿ"@example.com
but in practice that's not really important. my personal rule is "[-a-z0-9]+([_\.-][a-z0-9]+)@([a-z0-9]+([.-][a-z0-9]+))+\.[a-z]{2,}$" but that's an eregi pattern and not very efficient. i've never mothered to convert that to PCRE however, but you can probably do that the way you're sounding. 🙂
hth
moon