Плагин ввода маски Jquery для десятичного числа - PullRequest
0 голосов
/ 01 ноября 2011

Привет!

У меня есть проверка входных масок по этой ссылке http://digitalbush.com/projects/masked-input-plugin/ но я хочу что-то onblur, когда пользователь покидает текстовое поле, то он проверяет, является ли формат 999,99, если пользователь не набрал 999,99, то он отображает сообщение, чтобы исправить это. в противном случае нет. Кто-нибудь может дать подсказку

Ответы [ 2 ]

1 голос
/ 01 ноября 2011

@ Стюви получил что-то :)

http://jsfiddle.net/g8KSg/8/

$('input').focusout(function(e){
    var error = false;
    var regex = /^\d+,\d{2,2}$/;

    if(!($('#checkval').val().match(regex))) {   
        error = true;
    }

    if(error == true) {
            $('#result').html("<em>ERROR</em> Input must be deciaml format '99,00'");
        } else {
            $('#result').html("");
        }

});
1 голос
/ 01 ноября 2011

Используя jQuery самостоятельно, вы можете достичь того, чего хотите, используя регулярные выражения. Это может быть не так приятно работать, но регулярные выражения могут быть довольно мощными ...

// either create a hidden error message in the HTML 
// or create an error message element here...
var numberMaskError = $(".number-mask-error");
var numberMaskInput = $(".number-mask");

function validateNumberMask() {
   // using a regular expression to determine validity
   // matches a pattern with one or more digits 0-9 followed by a comma
   // followed by exactly two more digits 0-9
   if(numberMaskInput.val().search(/^\d+,\d{2,2}$/) !== -1) {
     // hide or remove the error
     numberMaskError.hide();
   } else {
     // show or append the error
     numberMaskError.show();
   }
}

numberMaskInput.bind("change", function() {
  // validate the field when the value has been changed on blur
  validateNumberMask();
}).bind("keyup", function() {
  // revalidate if the error is currently showing and user is changing the value
  if(err.is(":visible")) {
    validateNumberMask();
  }
});

Надеюсь, это поможет

...