2009-06-14 11 views

risposta

5

Ecco come vorrei implementare la regola di convalida:

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

Il problema con il vostro modello è che non è fisso-length, così difficile da codificare in maschera, e potresti incontrare alcune persone che danno $ 3,5, che non è quello che vuoi. Con un simile schema, penso che sarà difficile non ricorrere alla corrispondenza delle espressioni regolari.

Si può considerare di rendere obbligatoria la parte del centesimo, nel qual caso il modello è quasi ok, basta aggiungere .99 alla fine e dovrebbe farlo (anche se come utente odio dover iniziare la mia valuta con un personaggio spaziale ...).

+0

+1 e accettato –

1

So che in maschera si può anche fare qualche della maschera opzionale, per cui si potrebbe essere in grado di farla franca con questo

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

questo non funziona –

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

$ (". Valuta '). Maschera (' ~ $ 9 .99");

non funziona ???

4

Penso che questo ti aiuterà.

Utilizzare la sintassi

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

è possibile mostrare il simbolo, ma è probabilmente meglio per nasconderlo.

Problemi correlati