У меня есть требования для маскировки поля почтового индекса, чтобы он допускал классический 5-значный формат zip (XXXXX) или 5 + 4 (XXXXX-XXXX).
Я мог бы что-то вроде:
$('#myZipField').mask("?99999-9999");
но сложность заключается в том, что черта не должна отображаться, если пользователь вводит только 5 цифр.
Это лучшее, что я придумал до сих пор - я мог бы расширить его для автоматической вставки тире, когда они вставляют 6-ю цифру, но проблема с этим была бы странным поведением при удалении (я мог помешать им удалить дефис но это будет исправление патча и так далее, это станет кошмаром):
$.mask.definitions['~']='[-]';
$("#myZipField").mask("?99999~9999", {placeholder:""});
Есть ли какой-нибудь из готовых способов сделать это, или я должен свернуть свой собственный?