CodeIgniter表单验证如何支持接收含正斜杠的字母数字及特殊字符
修正方案
你只需要修改MY_Form_validation.php中的正则规则,在允许的字符集中添加正斜杠即可。由于你当前的正则使用/作为分隔符,内部匹配正斜杠需要加反斜杠转义。
修改后的验证方法代码
public function custom_alpha_numeric($str) { $valid = preg_match("/^[a-z0-9 .,\-\/]+$/i", $str) ? TRUE : FALSE; return $valid; }
可选简化写法
如果不想处理转义逻辑,也可以替换正则的分隔符,写法更直观:
public function custom_alpha_numeric($str) { $valid = preg_match("#^[a-z0-9 .,\-/]+$#i", $str) ? TRUE : FALSE; return $valid; }
规则说明
修改后的规则完全覆盖你要求的允许字符范围:
- 大小写英文字母(正则末尾
i修饰符不区分大小写) - 0-9数字
- 空格、逗号、横杠、正斜杠四类特殊字符
原有控制器中的验证规则不需要调整,可直接复用。
内容的提问来源于stack exchange,提问作者Kenneth
相关产品推荐
相关产品推荐

