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 ......... 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. 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)) { Link to comment https://forums.phpfreaks.com/topic/198843-preg_match-help/#findComment-1043708 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.