正则表达式验证复选框输入

时间:2011-11-19 19:10:50

标签: php regex validation checkbox boolean

使用复选框时,我遇到了codeigniter验证过滤器的一些问题。我通常使用numeric过滤器作为复选框,假设它会过滤01,但现在我看到有几个失败的实例。

是否有人知道我可以在preg_match中放置一个正则表达式来验证复选框?

我希望这允许布尔人和其他一些人10nulltruefalse,空等......

2 个答案:

答案 0 :(得分:2)

复选框仅返回一个值。它的值(如value=属性中所示)或'true'。如果未选中该复选框,则不会在POST请求中传递该复选框。因此,要进行验证,您只需要检查两件事:

  1. 它首先被选中了吗?
  2. 它的价值是否与您预期的一致?
  3. 所以:

    if (isset($_POST['checkbox']) && ($_POST['checkbox'] == 'true') { //or whatever value you want
    

    应该很好地完成这个伎俩。除非我在哪种情况下误解了你的问题,否则请发表评论。

答案 1 :(得分:1)

复选框要么有值,要么没有。如果他们有价值他们被检查,如果他们没有,那么他们没有被检查。

正则表达式在这里会严重过度,您只需要检查提交的数据中是否存在复选框。

$checkBoxChecked = isset ($_POST['checkbox_name_goes_here']);