Admitting I'm still learning regular expressions, can anybody help me understand what email chars I'll be allowing through with this string?

^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$'

Or even better, point me to a useful expression validator.

Thanks!

    From: http://iamcal.com/publish/articles/php/parsing_email/:

    function is_valid_email_address($email) {
       $qtext = '[^\\x0d\\x22\\x5c\\xa6-\\xff]';
       $dtext = '[^\\x0d\\x5b-\\x5d\\xa6-\\xff]';
       $atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c'.
       '\\x3e\\x40\\x5b-\\x5d\\xa6-\\xff]+';
       $quoted_pair = '\\x5c[\\x00-\\xa5]';
       $domain_literal = "\\x5b($dtext|$quoted_pair)*\\x5d";
       $quoted_string = "\\x22($qtext|$quoted_pair)*\\x22";
       $domain_ref = $atom;
       $sub_domain = "($domain_ref|$domain_literal)";
       $word = "($atom|$quoted_string)";
       $domain = "$sub_domain(\\x2e$sub_domain)*";
       $local_part = "$word(\\x2e$word)*";
       $addr_spec = "$local_part\\x40$domain";
       return (preg_match("!^$addr_spec$!", $email));
    }
    

      Here you are 🙂

      function check($address)
      {
        // check an email address is possibly valid
        if (ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $address))
      {
         echo ("Valid email address");
      }
        else 
      {
          echo ("Invalid email address");
      }?
      }
        HoangLong wrote:

        Here you are 🙂

        function check($address)
        {
          // check an email address is possibly valid
          if (ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $address))
        {
           echo ("Valid email address");
        }
          else 
        {
            echo ("Invalid email address");
        }?
        }

        That will give a false positive for an address such as "name@domain.-.".

          Write a Reply...