if(strlen($_REQUEST['email']) >= 0 && preg_match('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$', $_REQUEST['email']))
{
$error = true;
echo "Please enter a valid Email address";
}
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in /var/www/team2648/OPIS/register.php on line 30
答案 0 :(得分:4)
你忘记了the delimiters。添加它们。
另请注意,正则表达式会忽略一些完全有效的地址(例如foo@example.museum
)
答案 1 :(得分:3)
preg_match需要打开和关闭像perl这样的分隔符。例如,您希望在正则表达式字符串的开头和结尾包含斜杠,如
'/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'
答案 2 :(得分:1)
PHP附带内置函数,用于验证URL,电子邮件等流行数据。它被称为filter_var()
。
if ($_REQUEST['email'] && filter_var($_REQUEST['email'], FILTER_VALIDATE_EMAIL)) {
// This makes your code much cleaner!
}