以下是该表单的基本示例:
<form action="/">
<h3>Label</h3>
<div>
<input name="CardHolderName" placeholder="Cardholder Name" type="text">
</div>
<div>
<input name="CreditCardNumber" placeholder="Credit Card Number" type="tel">
</div>
<div>
<label for="ExpirationDate">Expirion Date</label>
<input id="ExpirationDate" name="ExpirationDate" placeholder="MM/YY" type="tel">
</div>
<div>
<input name="Cvv2" placeholder="CVC" type="tel">
</div>
</form>
我浏览了 https://wiki.whatwg.org/wiki/Autocomplete_Types 和 https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill,找到了autocomplete="cc-exp"和一些关于格式的指导。
在旧规范中(已弃用),格式与Chrome的匹配相当,当maxlength="7"时,提到了MM/YYYY格式。在这种情况下,maxlength="5"应该可以得到我想要的结果,但不是始终如一的。例如,在我的jsfiddle中添加maxlength="5"有效,但在我们的网站上无效。然而,在桌面版Chrome上添加autocomplete="cc-exp"和maxlength="5"可以在网站上工作,但在Android上的Chrome似乎不行。我的安卓手机上的Chrome仍然会自动填充MM/YYYY。
新规范说明格式为YYYY-MM,与Chrome所做的不符,因此没有帮助。没有提到任何其他被接受的格式。
这个jsfiddle (https://jsfiddle.net/JonathanN/j054kbgx/) 展示了所有我的原始表单的派生形式,以及我看到的所有结果。如果有一种100%保证的方法告诉浏览器格式为MM/YY那将是很好的。如果不行,了解其他人如何使用这些表单也会很有帮助。