jQuery Mask 在按下错误字符后删除输入值

jQuery Mask removes the input value after wrong character pressed

当您键入例如1a 或22 时,输入值内容消失。我想要这样的东西:http://jsfiddle.net/b4t34zu5/29/ 我的意思是在错误的字符 contnet 之后不会消失。

$('#x').mask('ZZZDZZ', {    
  translation: {
   'Z': {pattern: /[\d]/, optional: true },
   'D': {pattern: /[\.]/, optional: true },
        
  },
  placeholder: "XXX.XX",
  selectOnFocus: true,
  reverse: true,
  clearIfNotMatch: true
   
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.9/jquery.mask.min.js"></script>

<input type="text" id="x" value="" />

这是我认为您想要完成的:允许用户输入 (1) 1-999 的美元值,(2) 1-99 的可选美分值,前导零低于 10 的值和 (3) 仅在出现分值时出现的小数。

我认为您对这个插件的需求有点太复杂,因为您在这里应用它并且输入正在清除,因为正则表达式相互冲突。我建议您有两个输入:一个用于美元,一个用于美分,用小数点分隔。

终于搞定了:

$('#input').mask('099.00');