rendered paste body
function valid_email($email)
{
$len = strlen($email);
if($len == 0)
return(false);
$a = 0;
$b = 0;
do
{
switch($b)
{
case 0:
if($email[$a] == '@')
{
if($email[$a + 1] == '[')
{
$stage = 5;
++$a;
}
else
{
$at = $a;
++$b;
}
}
else
{
if(!($email[$a] == '&' || $email[$a] == '\'' || $email[$a] == '*' || $email[$a] == '+' || $email[$a] == '-' || $email[$a] == '.' || $email[$a] == '/' || (ord($email[$a]) >= 48 && ord($email[$a]) <= 57) || $email[$a] == '=' || $email[$a] == '?' || (ord($email[$a]) >= 65 && ord($email[$a]) <= 90) || $email[$a] == '^' || $email[$a] == '_' || (ord($email[$a]) >= 97 && ord($email[$a]) <= 122) || $email[$a] == '{' || $email[$a] == '~'))
return(false);
}
break;
case 1:
if($email[$a] == '.' && $at + 1 == $a)
return(false);
else if($email[$a] == '.')
++$b;
else
{
if(!($email[$a] == '&' || $email[$a] == '\'' || $email[$a] == '*' || $email[$a] == '+' || $email[$a] == '-' || $email[$a] == '.' || $email[$a] == '/' || (ord($email[$a]) >= 48 && ord($email[$a]) <= 57) || $email[$a] == '=' || $email[$a] == '?' || (ord($email[$a]) >= 65 && ord($email[$a]) <= 90) || $email[$a] == '^' || $email[$a] == '_' || (ord($email[$a]) >= 97 && ord($email[$a]) <= 122) || $email[$a] == '{' || $email[$a] == '~'))
return(false);
}
break;
case 2:
if(!($email[$a] == '&' || $email[$a] == '\'' || $email[$a] == '*' || $email[$a] == '+' || $email[$a] == '-' || $email[$a] == '.' || $email[$a] == '/' || (ord($email[$a]) >= 48 && ord($email[$a]) <= 57) || $email[$a] == '=' || $email[$a] == '?' || (ord($email[$a]) >= 65 && ord($email[$a]) <= 90) || $email[$a] == '^' || $email[$a] == '_' || (ord($email[$a]) >= 97 && ord($email[$a]) <= 122) || $email[$a] == '{' || $email[$a] == '~'))
return(false);
break;
case 5: //ip domain
if(!((ord($email[$a]) >= 48 && ord($email[$a]) <= 57) || $email[$a] == '.' || ($a == $len - 1 && $email[$a] == ']')))
return(false);
if($a == $len - 1 && $email[$a] == ']')
return(true);
break;
}
} while(++$a < $len);
return($email[$len - 1] == '.' || $b < 2 ? false:true);
}