npm cron-validator https://blog.csdn.net/zhaoxin_1989/article/details/121530229
定时验证器
Cron Validator 是一个实用程序,它允许您验证 cron 表达式,类似于crontab guru所做的,但在您的代码库中。
安装
npm install cron-validator
用法
需要语法:
const cron = require('cron-validator');
if (cron.isValidCron('* * * * *')) {
// Do something
}
或者使用 TypeScript 导入语法:
import { isValidCron } from 'cron-validator'
if (isValidCron('* * * * *')) {
// Do something
}
- 可以通过seconds在选项中将标志传递为 true来启用对秒的支持: ```typescript const cron = require(‘cron-validator’);
cron.isValidCron(‘ ‘); // false
cron.isValidCron(‘ ‘, { seconds: true }); // true
2. 启用alias对月份和工作日的支持也是如此:
```typescript
const cron = require('cron-validator');
cron.isValidCron('* * * * mon');
// false
cron.isValidCron('* * * * mon', { alias: true });
// true
3. allowBlankDay可以启用该标志以使用?符号将天或工作日标记为空白:
const cron = require('cron-validator');
cron.isValidCron('* * * * ?');
// false
cron.isValidCron('* * * * ?', { allowBlankDay: true });
// true
4、allowSevenAsSunday可以启用该标志以支持数字 7 作为星期日:
const cron = require('cron-validator');
cron.isValidCron('* * * * 7');
// false
cron.isValidCron('* * * * 7', { allowSevenAsSunday: true });
// true
特征
[x] 支持秒。
[x] 支持别名。
[x] 支持带?符号的空白日表示法。
[x] 支持工作日的 0-6 和 1-7 范围。
[ ] 有一个解释模式返回错误的片段。
动机
NPM 上已经存在许多很棒的 cron 库,为什么是这个?
像node-cron这样的库主要用于使用 cron 表达式来调度作业,而不是验证那些 cron 表达式。它们带有并不总是需要的额外行为。他们还带来了自己的一组默认值,这些默认值可能与其他外部系统的默认值冲突。我们需要一些东西在将表达式发送到外部系统之前对其进行验证,因此我们将其创建为更严格和可配置的,具有更具体的行为。
我们决定首先采用简单的方法,这会产生冗长的代码和测试,但也更容易推理 cron 表达式及其特定规则。