Code Igniter Form Validation Min Max unicode字符的长度数?

时间:2012-08-02 15:36:01

标签: codeigniter unicode validation

如果有人知道在max_length [n]和min_length [n]函数中构建的codeigniter表单验证是否将unicode字符计为1个字符,或者所用的所有字符的总和是否代表unicode字符,那就很奇怪了?

我注意到当var_dump字符串时它会计算所有字符,只是想知道代码点火器或php是否有内置函数来计算unicode字符?

感谢。

2 个答案:

答案 0 :(得分:2)

您可以进行自己的回调验证:

$this->form_validation->set_rules('rule', 'The rule', 'callback_checkUnicode');

检查unicode字符串>

public function checkUnicode($string)
{
    if (strlen($string) != strlen(utf8_decode($string)))
    {
            //is unicode: add your own counter condition here
        return true;
    }

    return false
}

答案 1 :(得分:1)

Codeigniter使用php的mb_strlen,如果它在你的php安装上可用,它允许传递一个编码参数,否则它默认为php的基本strlength,它不允许你传递字符串编码。麻烦的是CI不能让你传递max_length [n] ...

的可能编码

如果你需要它来补偿编码,你可能会更好地使用原始php来自己进行验证。