当我从HTML表单字段(5 + 4邮政编码)中跳出时,如果我只键入5位数字段,则该字段清除,但如果我填写所有5 + 4,则数字保持不变。我正在使用jquery.maskedinput
插件进行屏蔽。如果这是我输入的全部内容,为什么不保留5位数?
这是jsFiddle中的一个复制品:http://jsfiddle.net/dEfE8/1
<input data-val="true"
data-val-length="The field Claimant Zip Code must be a string with a maximum length of 10." data-val-length-max="10"
data-val-regex="The field Claimant Zip Code must match the regular expression '^(\d{5}|\d{5}-\d{4})$'."
data-val-regex-pattern="^(\d{5}|\d{5}-\d{4})$"
data-val-required="The Claimant Zip Code field is required."
id="Claimant_Zip"
name="Claimant.Zip"
title="Claimant Zip Code"
type="text"
value="" />
更新:其他相关代码
这是附在相关领域。它是jquery.maskedinput插件的一部分:
$("#Claimant_Zip").mask("99999-9999");
答案 0 :(得分:1)
As per the documentation of the "masked input" plugin:
按照设计,此插件将拒绝未完成的输入 面具。您可以使用'?'来绕过这个在该位置的角色 你想在哪里考虑输入可选。
在连字符之前添加?
修复它:
$("#Claimant_Zip").mask("99999?-9999");
OP的jsFiddle工作:http://jsfiddle.net/dEfE8/2/