【问题标题】:How to extend CodeIgniter's alpha_numeric validation rule to have Polish_Signs?如何将 CodeIgniter 的 alpha_numeric 验证规则扩展为具有 Polish_Signs?
【发布时间】:2017-11-04 01:32:13
【问题描述】:

如何扩展 CodeIgniter 的验证 form_validation 库,让 alpha_numeric 规则也可以包含波兰字符,如“ęĘóÓąśĄŚżźćŻŹĆńŃ”?

例如我用'rules' => 'required|alpha_numeric'

我也希望它接受我在上面输入的字词。

如何实现?

【问题讨论】:

  • 请添加更多详细信息,说明到目前为止您为实现它所做的尝试以及它产生的结果等。

标签: php codeigniter validation


【解决方案1】:

您需要做的是向现有库添加一些功能 应用程序/库/MY_Form_validation.php

class MY_Form_validation extends CI_Form_validation {

        public function __construct($config = array()){
                parent::__construct($config);
        }

        public function special_character( $str ){
                //\pL stands for any letter \pN for any digit
                return ( ! preg_match("/^([\pL\pN_ ])+$/i", $str)) ? FALSE : TRUE;
        }
}

【讨论】:

  • 此 preg_match 不适用于所有波兰语标志。例如 str = ą = true。而str = ź false。 @elddenmedio。它只检查一些波兰语标志,没有它们在 string = False 中。必须是所有字母符号 + 波兰语符号。
  • 嗨,你可以试试这个return (bool) preg_match('/^[a-z0-9_-ęĘóÓąśĄŚżźćŻŹĆńŃ ]+$/i', $str);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-19
  • 2011-03-19
  • 1970-01-01
相关资源
最近更新 更多