dourangdz750379 2012-10-08 15:40
浏览 279
已采纳

PHP用正则表达式验证CRON [重复]

Possible Duplicate:
Validating Crontab Entries w/ PHP

I have search everywhere, and my Regex is poor, so i seek assistance.

I am building a web based CRON tool, and the form can and will only pass the following to the processing script.'0-99' ',' '*' '-' '/'

I wan to validate the input with a simple preg_match in PHP, but cannot seem to come up with the correct regex. Can some one help out? Also, i will validate each item in the cron i.e. NOT * * * * * but rather the minutes value, then the hours value etc.. This allows more specific errors to be sent back.

examples of the passed values would be

*
0,10
*/5
1,3,5
1-5

here is a poor attempt just to match digits and the * /[0-9*]/ Any assistance would be great.

Regards

  • 写回答

1条回答 默认 最新

  • douhuan1257 2012-10-08 16:05
    关注

    Let's see:

    $pattern = '/^(?:[1-9]?\d|\*)(?:(?:[\/-][1-9]?\d)|(?:,[1-9]?\d)+)?$/';
    

    This pattern will allow you to match a reasonable subset of valid CRON sentences. It sure does match every single one of your examples. The exact pattern depends on the grammar you define, though.

    EDIT
    Forgot to mention that regex matching alone won't cut it. What it can do, is to check whether or not the input is correct in terms of (your simplified) syntax. Other than that you will need to validate the input with regards to semantics (e.g. hours 0-23; days 1-30/1 etc.).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器