2009-06-14 24 views

Odpowiedz

5

Oto jak chciałbym wdrożyć zasady walidacji

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

Problem z wzoru jest to, że nie ma stałej długości, tak trudno kodować w masce, a możesz napotkać ludzi, którzy dają 3,5 $, a to nie jest to, czego chcesz. Przy takim schemacie, myślę, że trudno będzie nie wrócić do dopasowania regexp.

Możesz rozważyć wprowadzenie obowiązkowej części, w którym to przypadku twój wzór jest prawie w porządku, po prostu dodaj .99 na końcu i powinien to zrobić (chociaż jako użytkownik nie chciałbym zacząć mojej waluty przestrzeń kosmiczna ...).

+0

+1 i zaakceptowane –

1

wiem, że w masce można również, że niektóre z maską opcjonalne, więc może być w stanie uciec z tego

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

to nie działa –

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

$ (”. Waluty«). Maski (» ~ 9 "99");

czy to nie działa ???

4

Myślę, że to ci pomoże.

użyć składni

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

Można pokazać symbol, ale to chyba lepiej, aby ją ukryć.

Powiązane problemy