Мне нужно проверить номера, где правило проверки выглядит так (например):
]0,1000[
, что означает, что числа действительны только в диапазоне> 0 и & lt; = 1000
Также существует правило проверки:
[*,*]
, что означает: каждое число разрешено (не спрашивайте меня о max и min).
существующую библиотеку для проверки этого с помощью общих правил? У вас есть пример кода, который я мог бы использовать?
Спасибо Hannes
Я не думаю, что вы найдете библиотеку для этого, потому что это слишком просто.
Лично я бы просто связал кучу функций проверки в объекте проверки и протестировал их:
var Validator = /** @class */ (function() {
function Validator(name, tests) {
if (tests === void 0) {
tests = [];
}
this.name = name;
this.tests = tests;
}
Validator.prototype.test = function(n) {
var m = parseFloat(n.toString());
for (var i = 0; i < this.tests.length; i++) {
var test = this.tests[i];
if (!test(m)) {
return false;
}
}
return true;
};
return Validator;
}());
//TEST
var validator = new Validator("between0And1000", [
function(n) {
return n >= 0;
},
function(n) {
return n <= 1000;
},
]);
console.log(validator.test(-1), validator.test(0), validator.test(1), validator.test(10), validator.test(999), validator.test(1000), validator.test(1001));
Если вы серьезно относитесь к предоставлению «шаблонов», тогда вы должны изучить регулярные выражения
Вам не нужна lib для этого, это возможно с помощью простых if-операторов. Я еще недавно создал решение с php, но вы можете легко перенести его в javascript.
$rule = ['*', 200];
$n = 65;
if($rule[0] == '*' && $n <= $rule[1]){
echo 'Valid';
} elseif($rule[1] == '*' && $n >= $rule[0]){
echo 'Valid';
} elseif($rule[0] == '*' && $rule[1] == '*'){
echo 'Valid';
} elseif($n <= $rule[1] && $n >= $rule[0]){
echo 'Valid';
} else {
echo 'Invalid';
}