2009-06-14 242 views
5

我要在以下任何格式的接受值:jQuery插件格式輸入

  • - $ 5
  • - $ 5.00
  • $ 5
  • $ 5.00

是否有可能使用Masked Input Plugin來做到這一點?

如果不是,我在找什麼插件?

如何表示一個字符是可選的?

的代碼我有到目前爲止

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

回答

5

這是我怎麼會執行驗證規則:

$('.myinput').val().match(/^[+-]?\$\d(?:\.\d\d)?$/) 

使用圖案的問題是,它沒有固定的長度,很難在面具上進行編碼,而且你可能會遇到一些人給予3.5美元,這不是你想要的。有了這樣的模式,我認爲很難不退回正則表達式匹配。

您可能會考慮將分部分設爲必填項,在這種情況下,您的模式幾乎可以,最後只需添加.99即可(儘管作爲用戶,我不願意用我的貨幣開始空間字符...)。

+0

+1並接受 – 2009-10-28 22:18:01

1

我知道,面膜,你也可以做一些面膜的可選的,因此你也許可以用這

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

這不起作用 – 2012-12-18 19:42:31

1
$.mask.definitions['~']='[ +-]'; 

$脫身(」貨幣‘)。掩碼(’ 〜$ 9 0.99" )?;

是不是工作?

4

我認爲這會對你有幫助。

使用語法

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

可以顯示符號,但它可能是更好的隱藏它。