According to RealSimple, banks are not required to honor personal checks that are more than six months old. Checks older than six months are considered "stale dated," and it is up to the bank whether or not to honor them.
Some checks, such as payroll checks, have a specific expiration date. In this case, how long the check is valid is written on the front of the check. For instance, a check that says "only valid for 90 days from the date issued" will expire 90 days from the date on the check. In some cases, the issuer of the check will send a new check at the recipient's request, but they are not required to do so.