10進数の検証に次の関数を使用します
$('.decimalValidate').live('keypress', function (e) {
var decimalid = $(this).attr("id");
var decimalval = $('#' + decimalid).val();
var decimalvalidate = ApplyDecimalFilter(decimalval, e);
if (decimalvalidate == false) return false;
});
function ApplyDecimalFilter(id, event)
{
try {
return NewDecimalFilter(id, event);
} catch (e) {
alert(e.message);
}
}
function NewDecimalFilter(o, event) {
if (event.which > 47 && event.which < 58) {
return true;
}
if (event.which == 50 ||(event.which == 8 || event.which == 46) && o.indexOf('.') == -1) {
return true;
}
return false;
}
この if 条件は FireFox でのみ機能しません。これは、1 つのドット記号のみを入力するために使用されます。
if (event.which == 50 ||(event.which == 8 || event.which == 46) && o.indexOf('.') == -1) {
return true;
}