什么html5表单属性应该用于邮政编码?

hom*_*677 26 html forms validation html5

是否最好使用带有字符数限制的"text"属性,或者我可以在输入中使用zip编码的数字属性.

试着用html5中的表单来了解所有不同的属性.干杯

Md *_*lam 45

你可以试试这个

<Label>ZIP Code</Label><input type="text" pattern="[0-9]{5}" title="Five digit zip code" />
Run Code Online (Sandbox Code Playgroud)

  • 根据国家/地区,使用不同的邮政编码方案!例如,德国使用5位数字代码,而奥地利使用4位数字代码,英国甚至使用字母数字字符的混合.不要试图以这种方式限制用户输入,除非您100%确定只有一个国家/地区的邮政编码(例如,您可以说只将产品运送到一个国家/或者您的服务仅限于一个国家/地区)原因). (4认同)
  • 电话很聪明,只显示正确的键盘模式,你实际上不需要`type ="number"`来调用数字键盘.所以,只有你讨厌马萨诸塞州的人才能这样做. (3认同)
  • 美国使用 5,但也可以包含 +4,使其为 10 个字符(即 12345-1234) (2认同)
  • @Calsal 如果您住在美国马萨诸塞州阿加瓦姆,则无法输入邮政编码 01001。 (2认同)

Juk*_*ela 11

"应该"是一个强有力的词,但实际上有关于这样的问题的"应该"的类声明.HTML5 CR说input type=number:

注意: type = number状态不适用于仅由数字组成但严格来说不是数字的输入.例如,它不适合信用卡号码或美国邮政编码.确定是否使用type = number的一种简单方法是考虑输入控件是否有意义使用旋转框接口(例如,使用"向上"和"向下"箭头).

这意味着input type=text,当使用内置构造时,唯一可行的元素是.您可以使用该maxlength属性设置最大字符数(适用于所有浏览器),另外还可以使用pattern指定允许字符和组合的属性; 它的价值自然取决于要使用的邮政编码类型.对于国际邮政地址,您可能不应使用任何pattern或甚至maxlength,因为格式不同.


Sat*_*yen 7

允许 ZIP+4:

<input type="text" placeholder="Zip Code" title="Please enter a Zip Code" pattern="^\s*?\d{5}(?:[-\s]\d{4})?\s*?$">
Run Code Online (Sandbox Code Playgroud)

为了对用户友好,这也允许在字符串之前/之后出现空格,开发人员需要在服务器端修剪空格。


And*_*w M 5

如果您有任何国际用户,您将要通过type ="text"允许字母数字

示例:英国邮政编码格式为AA9A 9AA

9 =任何数字

A =任何字母