doubledee Posted October 10, 2011 Share Posted October 10, 2011 How do I reverse the logic of my Regex statement so it says, "If there is NOT a match..." // (Replacement for non-supported Email-Filter.) if (preg_match('#^[A-Z0-9_\+-]+(\.[A-Z0-9_\+-]+)*@[A-Z0-9-]+(\.[A-Z0-9-]+)*\.([A-Z]{2,7})$#i', $trimmed['senderEmail'])){ // Valid Email. // ??? }else{ // Invalid entry. $errors['senderEmail'] = 'Please enter a valid E-mail address.'; }// End of VALIDATE ENTRY. I want to do this so I don't have an empty THEN statement! Debbie Quote Link to comment https://forums.phpfreaks.com/topic/248773-make-regex-negative/ Share on other sites More sharing options...
darkfreaks Posted October 10, 2011 Share Posted October 10, 2011 function check_email_address($email) { // First, we check that there's one @ symbol, and that the lengths are right if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) { // Email invalid because wrong number of characters in one section, or wrong number of @ symbols. return false; } // Split it into sections to make life easier $email_array = explode("@", $email); $local_array = explode(".", $email_array[0]); for ($i = 0; $i < sizeof($local_array); $i++) { if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) { return false; } } if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name $domain_array = explode(".", $email_array[1]); if (sizeof($domain_array) < 2) { return false; // Not enough parts to domain } for ($i = 0; $i < sizeof($domain_array); $i++) { if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) { return false; } } } return true; } Quote Link to comment https://forums.phpfreaks.com/topic/248773-make-regex-negative/#findComment-1277637 Share on other sites More sharing options...
trq Posted October 10, 2011 Share Posted October 10, 2011 if (!preg_match()) { Quote Link to comment https://forums.phpfreaks.com/topic/248773-make-regex-negative/#findComment-1277646 Share on other sites More sharing options...
AbraCadaver Posted October 10, 2011 Share Posted October 10, 2011 And since you're using PHP, maybe: if(!filter_var($trimmed['senderEmail'], FILTER_VALIDATE_EMAIL)) { Quote Link to comment https://forums.phpfreaks.com/topic/248773-make-regex-negative/#findComment-1277799 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.