It seems like zip codes are just numbers, right? So…
<input id="zip" name="zip" type="number">
The advantage there being able to take advantage of free validation from the browser, and triggering a more helpful number-based keyboard on mobile devices.
But Zach pointed out that
type="number" is problematic for zip codes because zip codes