休假时HTML表单字段清除

时间:2013-02-19 19:52:30

标签: html regex

当我从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");

1 个答案:

答案 0 :(得分:1)

As per the documentation of the "masked input" plugin

  

按照设计,此插件将拒绝未完成的输入   面具。您可以使用'?'来绕过这个在该位置的角色   你想在哪里考虑输入可选。

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

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

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