Скопируйте код кода следующим образом:
функция validateNum (объект) {
//Положительное целое число (здесь используется кэширование)
номер вар = obj.data(validate).number;
//Десятичная точка (здесь используется кэширование)
var decimal = obj.data(validate).decimal;
//Динамическая базовая регулярность проверки
eval("var reg = /^[0-9]{0," + число + "}([.]?[0-9]{0," + decimal + "})$" + "/g;" );
значение var = obj.val();
var maxnumlen = число + десятичное число + 1 //Максимальная длина + 1 (десятичная точка)
if (!reg.test(obj.val())) возвращает false;
//Максимальная длина равна длине текущего значения и значение не имеет "."
if (maxnumlen == value.length && value.indexOf('.') <= 0) {
вернуть ложь;
}
//Попробуем получить индекс "."
var valueindexof = value.indexOf('.');
если (valueindexof > 0) {
//Если бит после индекса "." пуст, то он обязательно вернет false.
if (value.charAt(valueindexof + 1) == "") {
вернуть ложь;
}
}
//Разделяем значение, чтобы легко определить содержимое до и после
вар значенияsplit = value.split('.');
//Если длина значения больше определенной длины положительного целого числа
если (значение.длина > число) {
если (valuesplit. length == 1) {
вернуть ложь;
}
//Максимальная длина — заданная длина больше максимальной длины, false.
if (maxnumlen - число >= maxnumlen) {
вернуть ложь;
}
}
вернуть истину;
}
После кэширования объекта проверки для элемента просто вызовите его.
определение:
$("#example").data("validate", { число: 2, десятичное: 2 });
Вызов:
validateNum($("#example));