CBG Posted April 17, 2010 Share Posted April 17, 2010 Hi, I am using preg_match to check the email address, but I also want to check for With @ or + like: myemail+email.com I currently got if (preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $email)) { But it give falso if + is in the email, what bit do I change? Also I need to allow / in the below preg_match So I can have a input of www.mysite.co.uk/mypage if (preg_match('/^[a-zA-Z0-9 ._-]+$/', $website)) { When I put / in the allow I get Warning: preg_match() [function.preg-match]: Unknown modifier '_' in ......... Quote Link to comment https://forums.phpfreaks.com/topic/198843-preg_match-help/ Share on other sites More sharing options...
Daniel0 Posted April 17, 2010 Share Posted April 17, 2010 Use filter_var or filter_input. if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo 'the email is valid'; } else { echo 'the email is not valid'; } As for your second problem, you need to escape the / because you're using it as delimiter. Quote Link to comment https://forums.phpfreaks.com/topic/198843-preg_match-help/#findComment-1043707 Share on other sites More sharing options...
CBG Posted April 17, 2010 Author Share Posted April 17, 2010 Thanks I have also sorted the / in the $website bit by changing the delimiter. I changed it to if (preg_match('#^[a-zA-Z0-9._/-]+$#', $website)) { Quote Link to comment https://forums.phpfreaks.com/topic/198843-preg_match-help/#findComment-1043708 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.