There are a lot of things that we are not aware of, and thinking about all the possible edge cases and unusual scenarios can be really challenging. We should try to test with real users as much as possible or at least do some research on who they are / who they could be.
You can find more information about this validation problem on the W3C website, together with possible solutions and suggested best practices.
Check out awesome-falsehood to see more examples of wrong assumptions about names, phone numbers, addresses and so on.
Building software is a very special kind of artisanship, in which you create something from nothing. Stefania is a software engineer from Italy, that makes impalpable crafts using React, HTML and CSS, with a special eye on accessibility and good UX.