'z') && ($str{0}<'0' || $str{0}>'9')) return(false); $len=strlen($str); if (($str{$len-1}<'a' || $str{$len-1}>'z') && ($str{$len-1}<'0' || $str{$len-1}>'9')) return(false); for ($i=1; $i<$len-1; $i++) if (($str{$i}<'a' || $str{$i}>'z') && ($str{$i}<'0' || $str{$i}>'9') && ($str{$i}!='-')) return(false); return(true); } function is_domain($str) { if (!strlen($str)) return(false); $subs=explode(".", $str); if (count($subs)<2) return(false); foreach ($subs as $sub) if (!is_subdomain($sub)) return(false); return(true); } function is_user($str) { if (!strlen($str)) return(false); $str=strtolower($str); if (($str{0}<'a' || $str{0}>'z') && ($str{0}<'0' || $str{0}>'9') && ($str{0}!='_')) return(false); $len=strlen($str); for ($i=1; $i<$len; $i++) if (($str{$i}<'a' || $str{$i}>'z') && ($str{$i}<'0' || $str{$i}>'9') && ($str{$i}!='.') && ($str{$i}!='_') && ($str{$i}!='-')) return(false); return(true); } function is_email($addr) { if (!strlen($addr)) return(false); if (!($at=strpos($addr, "@"))) return(false); if (!is_user(substr($addr, 0, $at)) || !is_domain(substr($addr, $at+1))) return(false); return(true); } ?>