用于在帖子字段中过滤输入的正则表达式

时间:2012-10-07 01:31:08

标签: php

此字段唯一可能的值是P后跟0,1,2,3,40,1,2,3,4

$option_print = $this->input->post('print');

if (!preg_match('^/p[0-4][0-4]/', $option_print)) 
{ redirect('#example'); } else { ... }

VALID输入示例:

  • p00 - >有效
  • p10 - >有效

INVALID输入示例:

  • v00 - >无效
  • f10 - >无效
  • ffs - >无效

那么我的regex应如何正确构建以过滤VALID输入?

2 个答案:

答案 0 :(得分:4)

这个怎么样:

!preg_match('/^p[0-4][0-4]$/', $option_print)

甚至这个:

!preg_match('/^p[0-4]{2}$/', $option_print)

答案 1 :(得分:0)

你的正则表达式几乎完全有效。但是你在^之前/说明了为什么它不起作用

'/^p[0-4][0-4]$/'