cron-validator:验证cron表达式-支持?-支持秒

定时验证器

Cron Validator 是一个实用程序,它允许您验证 cron 表达式,类似于crontab guru所做的,但在您的代码库中。

安装

npm install cron-validator

用法

需要语法:

const cron = require('cron-validator');

if (cron.isValidCron('* * * * *')) {
    // Do something
}

或者使用 TypeScript 导入语法:

从’cron-validator’导入{ isValidCron }

import { isValidCron } from 'cron-validator'

if (isValidCron('* * * * *')) {
    // Do something
}

1. 可以通过seconds在选项中将标志传递为 true来启用对秒的支持:

const cron = require('cron-validator');

cron.isValidCron('* * * * * *');
// false

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

2. 启用alias对月份和工作日的支持也是如此:

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

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 表达式及其特定规则。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值