Copie o código do código da seguinte forma:
função validarNum(obj) {
//Inteiro positivo (o cache é usado aqui)
var número = obj.data(validar).número;
//Ponto decimal (o cache é usado aqui)
var decimal = obj.data(validar).decimal;
// Regularidade de verificação básica dinâmica
eval("var reg = /^[0-9]{0," + número + "}([.]?[0-9]{0," + decimal + "})$" + "/g;" );
var valor = obj.val();
var maxnumlen = número + decimal + 1; //Comprimento máximo + 1 (vírgula decimal)
se (!reg.test(obj.val())) retornar falso;
//O comprimento máximo é igual ao comprimento do valor atual e o valor não possui "."
if (maxnumlen == valor.comprimento && valor.indexOf('.') <= 0) {
retornar falso;
}
//Tente obter o índice de "."
var valorindexof = valor.indexOf('.');
if (índice de valor > 0) {
//Se o bit após o índice "." estiver vazio, ele definitivamente retornará falso.
if (valor.charAt(valorindexof + 1) == "") {
retornar falso;
}
}
//Divida o valor para determinar facilmente o conteúdo antes e depois
var valores divididos = valor.split('.');
//Se o comprimento do valor for maior que o comprimento inteiro positivo definido
if (valor.comprimento > número) {
if (valor dividido. comprimento == 1) {
retornar falso;
}
//Comprimento máximo - o comprimento definido é maior que o comprimento máximo, false.
if (maxnumlen - número >= maxnumlen) {
retornar falso;
}
}
retornar verdadeiro;
}
Depois de armazenar em cache um objeto validado para o elemento, basta chamá-lo.
definição:
$("#exemplo").data("validar", { número: 2, decimal: 2 });
Chamar:
validarNum($("#exemplo));