我尝试找到一个完整的模式列表,用于通过各种类型的HTML5表单验证来验证输入,特别是url
,email
,tel
等等,但我无法&# 39;找不到任何东西。目前,这些输入验证的内置版本远非完美(tel
甚至不检查您输入的内容是否为电话号码。所以我想知道,我可以使用哪些模式来验证用户是否在输入中输入了正确的格式?
以下是一些默认验证允许不允许输入的情况示例:
type="email"
此字段允许在@之后具有不正确域的电子邮件,并且它允许地址以短划线或句点开始或结束,这也是不允许的。因此,.example-@x
是允许的。
type="url"
此输入基本上允许任何以http://
(Chrome)开头的输入,后跟除了一些特殊字符之外的任何内容,例如在URL中有功能的字符(\,@,#,〜等) )。在FF中,所有检查过的是它是否以http:
开头,后跟:
以外的任何内容(在FF中只允许http:
)。 IE与FF的作用相同,只是它不允许http::
。
例如:所有三个都允许http://.
。 http://,
也是如此。
type="tel"
目前在任何主流浏览器中都没有针对电话号码的内置验证(除了告诉移动浏览器要显示哪种类型的键盘外,它的功能与type="text"
完全相同。
因此,由于浏览器在每种情况下都不会显示一致的行为,并且由于它们显示的行为非常基本且存在许多误报,因此我可以做些什么来验证我的HTML表单(仍在使用HTML5输入验证)?
PS:我发布这个是因为我觉得自己有一个完整的表单验证模式列表很有用,所以我认为它也可能对其他人有用(当然其他人也可以发布他们的解决方案也是如此。