0

当我从 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 &#39;^(\d{5}|\d{5}-\d{4})$&#39;." 
 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");
4

1 回答 1

1

根据“屏蔽输入”插件的文档

按照设计,此插件将拒绝未完成掩码的输入。您可以通过使用“?”来绕过它。字符在您想考虑输入可选的位置。

?在连字符修复它之前添加一个:

$("#Claimant_Zip").mask("99999?-9999");

OP 的 jsFiddle 工作:http: //jsfiddle.net/dEfE8/2/

于 2013-02-19T21:19:03.993 回答