I just overheard this discussion on Twitter, kicked off by Dave.
Me (coding a form): <input id="zip" type="number">
Tiny Devil (appears on shoulder): Yaaas! I love the optimism, ship it!
Me: Wait, why are you here? Is this going to blow up on me? What do you know that I don't?
— Dave SPOOPert (@davatron5000) October 9, 2018
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.