[英]Having a problem validating email address in PHP with preg_match
這是代碼:
if(trim($_POST['email']) == '') {
$hasError = true;
} else if (!preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
$hasError = true;
} else {
$email = trim($_POST['email']);
}
這是錯誤消息:
警告:preg_match()[function.preg-match]:在第22行的/home/bigsilkd/public_html/UBA/join.php中找不到結尾定界符'/'。
確切地說:
preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$"
應該
preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$/"
^
|
This was missing ---/
您不應該使用正則表達式來驗證電子郵件。 例如,您的正則表達式不允許我的電子郵件地址+@example.org
,這是正常且有效的電子郵件。 保存我的電子郵件! 由於無效的表單驗證,它即將消失! 使用filter_var
!
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
// email is valid
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.