petenaylor Posted October 29, 2010 Share Posted October 29, 2010 Hi all I am trying to do an email validation check. Here's my code: if (!preg_match($email) == "^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]") { include("checkout-email-error.php"); exit; } It doesn't seem to allow any email addresses through? All help greatly appreciated! Thanks Pete Quote Link to comment https://forums.phpfreaks.com/topic/217193-preg-match-email/ Share on other sites More sharing options...
salathe Posted October 29, 2010 Share Posted October 29, 2010 Check the PHP manual page for preg_match, which will tell you how to properly use that function. See http://php.net/preg_match Quote Link to comment https://forums.phpfreaks.com/topic/217193-preg-match-email/#findComment-1127970 Share on other sites More sharing options...
rwwd Posted October 29, 2010 Share Posted October 29, 2010 I have found this useful for this, it negates the need for doing preg_match() on a $var:- if(!filter_var($input, FILTER_VALIDATE_EMAIL)){ echo "Email is not valid"; exit; } Kinda cool if your not much good at regex! But if you want your preg_match() in there, use this:- if (!preg_match("/^([a-z]|[0-9]|\.|-|_)+@([a-z]|[0-9]|\.|-|_)+\.([a-z]|[0-9]){2,4}$/i", $input)){ echo "Email isn't valid"; exit; } Rw Quote Link to comment https://forums.phpfreaks.com/topic/217193-preg-match-email/#findComment-1127976 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.