Мне нужно построить cron-валидатор. Это выражение cron, оно означает каждые 30 секунд.
*/30 * * * * *
Задача - показать ошибку, если время меньше 30 секунд. Пример: Итак, если я напишу следующее, что означает каждые 10 секунд,
*/10 * * * * *
Должна появиться ошибка: «Пожалуйста, введите более 30 секунд». Вот пример функции, выражение - это выражение cron, ограничение в миллисекундах, поэтому, если я пропущу 30 секунд, он должен подтвердить 30 секунд.
function cronValidator(expression = '', limit = 30000){}
До сих пор я пробовал это :
function cronValidator(expression = '', limit = 30000) {
// filter the number of seconds from expression
const [seconds] = expression.match(/(\d+)/);
// convert seconds into miliseconds
const milisecondsInExpression = seconds * 1000;
if (milisecondsInExpression < limit) {
console.error(`Please enter more than ${limit / 1000} seconds.`);
} else {
console.log('You are good to go.');
}
}
const cronExp = '*/31 * * * * *';
cronValidator(cronExp, 40000);
но это не работает, причина:
- Предел или выражение могут быть минутами или часами. Не только секунды. Это означает, что обычного регулярного выражения недостаточно.