用于格式化输入的jQuery插件

用于格式化输入的jQuery插件,jquery,maskedinput,Jquery,Maskedinput,我希望接受以下任何格式的值: -五美元 -$5.00 五美元 $5.00 有没有可能用计算机来实现这一点 如果没有,我在寻找什么插件 如何表示字符是可选的 到目前为止我得到的代码 $.mask.definitions['~']='[ +-]'; $(".currency").mask("~$9"); 下面是我将如何实现验证规则: $('.myinput').val().match(/^[+-]?\$\d(?:\.\d\d)?$/) 你的模式的问题是它不是固定长度的,所以很难在掩码中编码,

我希望接受以下任何格式的值:

  • -五美元
  • -$5.00
  • 五美元
  • $5.00
有没有可能用计算机来实现这一点

如果没有,我在寻找什么插件

如何表示字符是可选的

到目前为止我得到的代码

$.mask.definitions['~']='[ +-]';
$(".currency").mask("~$9");

下面是我将如何实现验证规则:

$('.myinput').val().match(/^[+-]?\$\d(?:\.\d\d)?$/)
你的模式的问题是它不是固定长度的,所以很难在掩码中编码,你可能会遇到一些人给3.5美元,这不是你想要的。有了您这样的模式,我想很难不依赖regexp匹配


你可以考虑让美分部分是强制性的,在这种情况下,你的模式几乎是可以的,只需加99。它应该做它(虽然作为一个用户,我很讨厌不得不用一个空格字符来启动我的货币)。

< P>我知道在掩码中你也可以选择一些掩码,这样你就可以逃脱这个

了。
$.mask.definitions['~']='[ +-]';
$(".currency").mask("~$9?.99");
美元(“.currency”).mask(“~$9?.99”)


这不管用吗?

我想这会对你有帮助

使用语法

$(mask_id).maskMoney({showSymbol:false,decimal:'.',precision:2});

您可以显示符号,但最好隐藏它。

为了澄清Antony的反应,他使用的插件是jquery maskmoney:


Diego,我想你是说这是他应该使用的插件。
$(mask_id).maskMoney({showSymbol:false,decimal:'.',precision:2});