【问题标题】:Regex to validate checkbox input正则表达式验证复选框输入
【发布时间】:2012-01-20 13:51:56
【问题描述】:
我在使用复选框时遇到了一些关于 codeigniter 验证过滤器的问题。我通常将numeric 过滤器用于复选框,假设它会过滤0 或1,但现在我看到有几个实例失败了。
有人知道我可以在preg_match 中输入一个正则表达式来验证复选框吗?
我希望这允许布尔值和其他一些 1、0、null、true、false、空等...
【问题讨论】:
标签:
php
regex
validation
checkbox
boolean
【解决方案1】:
复选框只返回一个值。它的值(如其value= 属性所示)或“真”。如果未选中该复选框,则不会在 POST 请求中传递。因此,为了验证,您只需要检查两件事:
- 一开始就被选中了吗?
- 它的值是否与您预期的一致?
所以:
if (isset($_POST['checkbox']) && ($_POST['checkbox'] == 'true') { //or whatever value you want
应该做得很好。除非我误解了您的问题,否则请发表评论。
【解决方案2】:
复选框要么有值,要么没有。如果他们有一个值,他们会被检查,如果他们没有,那么他们不会被检查。
在这里使用正则表达式会严重过度,您只需检查提交数据中是否存在复选框。
$checkBoxChecked = isset ($_POST['checkbox_name_goes_here']);