Does the local part of an e-mail address have a minimum length requirement?

3 parts of an email address
what characters are not allowed in email address
rfc 3696
email address format validation
rfc 5322
how to write email address
how to make a valid email address
can you have a in an email address

I am using this expression to validate e-mail addresses:


I noticed that in order for the e-mail address to validate, I need to put in at least 3 characters before the @ symbol. Is this a requirement? What if I just want to have an e-mail address with 1 or 2 characters before the @ symbol?

It is entirely possible to have an e-mail address with just one character. All of the guidelines are defined in RFC822:

The necessary REGEX:

Email address, For an email to be delivered, it must have a valid address that follows certain rules of syntax. A valid email address has four parts: there is a length limit on email addresses: That limit is a maximum of 64 characters (octets) in the “local part” (before the “@”) and a maximum of 255 characters (octets) in the domain part (after the “@”) for a total length of 320 characters. However, there is a restriction in RFC 2821 on the length of an address in MAIL and RCPT commands of 254 characters.

0, if you don’t count quoting double-quotes. If you do, the minimum’s 1.


RFC 5321
   Mailbox        = Local-part "@" ( Domain / address-literal )

   Local-part     = Dot-string / Quoted-string
                  ; MAY be case-sensitive

   Dot-string     = Atom *("."  Atom)

   Atom           = 1*atext

   Quoted-string  = DQUOTE *QcontentSMTP DQUOTE

What are the rules for email address syntax? – Return Path Help , (RFC 2822, section 2.2); Email addresses consist of a local part, the "@" symbol, and (RFC 1035, section 2.3.4); The maximum length of a label is 63 characters. (RFC 2822, section 3.4.1); The contents of a bracketed domain can have a� As long as they are not the first character in the e-mail address, hyphens ( – ), underscores ( _ ), periods ( . ), and numeric characters (“0” through “9”) are acceptable characters to use within the address.

Your regex is bad. You really should change it. Even Microsoft offers more flexible variant:


Yes, it is long. But you should write good programs, not fast developed programs.

Email Validation Rules, In the context of electronic mail, messages are viewed as having an envelope and Though some message systems locally store messages in this format ( which Any examples in this section MUST NOT be taken as specification of the formal the transport requirements of [RFC2821]) do not accept messages containing� In fact, there are technical limitations to how long email addresses can be. The limit is actually a maximum of 64 characters in the “user part” (the one before the “@” symbol) and a maximum of 255 characters in the domain part (the one after the “@”).

I went ahead and decided to use this one:


It allows me to enter 1 or more characters for the local part.

RFC 2822 - Internet Message Format, Before yesterday I would have raised my hand (metaphorically) as well. It turns out that the local part of an email address, the part before the Most email providers have stricter rules than are required for email addresses. the local- part or domain and simoultaneously restrict the overall lengths of these� The maximum length of a "useful" email address is 255 characters. (RFC 2821, section The maximum allowable length of an email address is 320 characters. (RFC 3696)

I Knew How To Validate An Email Address Until I Read The RFC , In this context, messages are viewed as having an envelope and contents. components of information or can be kept small and simple, with a minimum of such Note: The reserved local-part address unit, "Postmaster", is an exception. As network mail requirements dictate, addi- tional fields may be standardized. Local part The local part can be up to 64 characters in length and consist of any combination of alphabetic characters, digits, or any of the following special characters: NOTE: The period character (“.”) is valid for the local part subject to the following restrictions:

RFC 822: Standard for the Format of Arpa Internet Text Messages, Feb 16, 2017 � 2 min read The [user] section can be a maximum of 64 characters, and the [mysite] section in addition to the Mailbox, which limits the email address to 254 characters. A button that says 'Get it on, Google Play', and if clicked. The format of email addresses is local-part@domain where the local part may be up to 64 octets long and the domain may have a maximum of 255 octets. The formal definitions are in RFC 5322 (sections 3.2.3 and 3.4.1) and RFC 5321—with a more readable form given in the informational RFC 3696 [5] and the associated errata.

What is the maximum length of a valid email address?, See Validation for details on how e-mail addresses are validated to If no minlength is specified, or an invalid value is specified, the email input has no minimum length. See the section Pattern validation for details and an example. Note: Because a read-only field cannot have a value, required does� given this i think the proper answer for a valid "internet" email address will be a minimum length of 4 (including. and @), and for an intranet a minimum length of 3 including the point. – Pedro Emilio Borrego Rached Oct 19 '16 at 15:40

  • I found this here. I am not sure how to change it to allow a minimum of 1 character.
  • where did you find this on SO? This REGEX you provide is wrong, for many reasons.
  • MS Outlook doesn't prevent you from using
  • @Brad - I found it here:…
  • Basically I just need to check if the user is entering something like or or a@a.com2
  • How would I change my regular expression to reflect that?
  • Yes, that regex is way too long. The one I have is fine, I just want to allow a minimum of 1 character before the @.
  • @Xaisoft, the one you have is not fine, it is incorrect. Suppose I want to use # in my e-mail address.
  • @Brad: it isn't perfect, but I think it's fine--I doubt that a non-negligible amount of people uses a "#" in their email address.
  • @Tikhon, your doubts are wrong. I know several people who use # to designate different tags and such in their mailbox. It is a basic feature that is easy to allow via regex. There is little excuse for not doing so.
  • VMAtm, I get your point, but you must realize that I just found regular expression online and gave it a shot. I never committed to it.
  • Should definitely write fast developed programs
  • An explanation of why this was downvoted would be nice. This is one I found on here, I believe it is from regular-expressions-info.
  • What do you mean by quality in this case? If it is because it does not match certain addresses, I would not define that as quality. I would say that is more of a quantitative aspect to it. The regular expression I am looking for does not need to validate every possible address in the world. If it just had a @ symbol that would be fine.
  • This criteria is bad criteria. That's why downvotes, I think.