npm cron-validator https://blog.csdn.net/zhaoxin_1989/article/details/121530229

    定时验证器
    Cron Validator 是一个实用程序,它允许您验证 cron 表达式,类似于crontab guru所做的,但在您的代码库中。
    安装
    npm install cron-validator
    用法
    需要语法:

    1. const cron = require('cron-validator');
    2. if (cron.isValidCron('* * * * *')) {
    3. // Do something
    4. }


    或者使用 TypeScript 导入语法:

    1. import { isValidCron } from 'cron-validator'
    2. if (isValidCron('* * * * *')) {
    3. // Do something
    4. }
    1. 可以通过seconds在选项中将标志传递为 true来启用对秒的支持: ```typescript const cron = require(‘cron-validator’);

    cron.isValidCron(‘ ‘); // false

    cron.isValidCron(‘ ‘, { seconds: true }); // true

    1. 2. 启用alias对月份和工作日的支持也是如此:
    2. ```typescript
    3. const cron = require('cron-validator');
    4. cron.isValidCron('* * * * mon');
    5. // false
    6. cron.isValidCron('* * * * mon', { alias: true });
    7. // true


    3. allowBlankDay可以启用该标志以使用?符号将天或工作日标记为空白:

    1. const cron = require('cron-validator');
    2. cron.isValidCron('* * * * ?');
    3. // false
    4. cron.isValidCron('* * * * ?', { allowBlankDay: true });
    5. // true

    4、allowSevenAsSunday可以启用该标志以支持数字 7 作为星期日:

    1. const cron = require('cron-validator');
    2. cron.isValidCron('* * * * 7');
    3. // false
    4. cron.isValidCron('* * * * 7', { allowSevenAsSunday: true });
    5. // true


    特征
    [x] 支持秒。
    [x] 支持别名。
    [x] 支持带?符号的空白日表示法。
    [x] 支持工作日的 0-6 和 1-7 范围。
    [ ] 有一个解释模式返回错误的片段。

    动机
    NPM 上已经存在许多很棒的 cron 库,为什么是这个?

    像node-cron这样的库主要用于使用 cron 表达式来调度作业,而不是验证那些 cron 表达式。它们带有并不总是需要的额外行为。他们还带来了自己的一组默认值,这些默认值可能与其他外部系统的默认值冲突。我们需要一些东西在将表达式发送到外部系统之前对其进行验证,因此我们将其创建为更严格和可配置的,具有更具体的行为。

    我们决定首先采用简单的方法,这会产生冗长的代码和测试,但也更容易推理 cron 表达式及其特定规则。