Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 验证Codeigniter中的输入是否具有安全性、空格字母数字和特定字符_Regex_Codeigniter_Validation - Fatal编程技术网

Regex 验证Codeigniter中的输入是否具有安全性、空格字母数字和特定字符

Regex 验证Codeigniter中的输入是否具有安全性、空格字母数字和特定字符,regex,codeigniter,validation,Regex,Codeigniter,Validation,由于不擅长Regex,而且是Codeigniter新手,我需要帮助验证输入的安全性(XSS、注入等),并将其限制在字母数字、空格和类似@、#的字符内()[] 不允许使用其他字符。 有效字符串如下所示(字符序列无关紧要,任何有效字符或字母或数字都可以出现在字符串中的任何位置): [Wave]你好,身份证号码123注册为bol@gmail.com(昵称bol (罗伊) 我在Controller中编写了以下代码: public function _titleRegex($data) { if

由于不擅长
Regex
,而且是
Codeigniter
新手,我需要帮助验证输入的安全性(XSS、注入等),并将其限制在字母数字、空格和类似@、#的字符内()[]

不允许使用其他字符。 有效字符串如下所示(字符序列无关紧要,任何有效字符或字母或数字都可以出现在字符串中的任何位置):

[Wave]你好,身份证号码123注册为bol@gmail.com(昵称bol (罗伊)

我在Controller中编写了以下代码:

public function _titleRegex($data) 
{
    if(preg_match('/^[][a-zA-Z0-9@# ,().]+$/',$data))
    {
        return TRUE;
    } 
    else 
    {
        return "<div class='alert alert-danger'>Some invalid characters are present.</div>";
        //Also tried return FALSE; still I get the same error
    }
}

public function addproperty()
{
        $msg="";
        $config = array(
            array(
                    'field' => 'categories',
                    'label' =>'Category',
                    'rules' => 'required'
            ),
            array(
                'field'=>'ptitle',
                'label'=>'Property Title',
                'rules'=>'trim|required|xss_clean|callback__titleRegex'
            )
        );
       $this->form_validation->set_rules($config);
       if ($this->form_validation->run() == FALSE)
       { 
        return validation_errors();
       } 
       else 
       {
//do the work and then the further code ........
public function\u titleRegex($data)
{
如果(预匹配('/^[][a-zA-Z0-9@#,().]+$/',$data))
{
返回TRUE;
} 
其他的
{
return“存在一些无效字符。”;
//还尝试返回FALSE;但我仍然得到相同的错误
}
}
公共函数addproperty()
{
$msg=”“;
$config=array(
排列(
“字段”=>“类别”,
“标签”=>“类别”,
'规则'=>'必需'
),
排列(
'field'=>'ptitle',
“标签”=>“属性标题”,
“规则”=>“修剪|必需| xss |清洁|回调|标题Regex”
)
);
$this->form\u validation->set\u rules($config);
如果($this->form\u validation->run()==FALSE)
{ 
返回验证_错误();
} 
其他的
{
//完成这项工作,然后执行进一步的代码。。。。。。。。
在运行页面时,我遇到以下错误:

无法访问与字段名属性标题对应的错误消息。(\u titleRegex)


请参考回复“我的我”来帮助

。@第四只鸟,以下可以帮助您:

array(
    'field'=>'ptitle',
    'label'=>'Property Title',
    'rules'=>'trim|required|xss_clean|regex_match[/^[][a-zA-Z0-9@# ,().]+$/]'
)

他们把这个问题标记为否定的人,我请求你提供给我这个问题的原因你看了吗?@Thefourthbird当我写到我是Codeigniter的新手,不擅长正则表达式,所以无法编译已经可以解决我问题的答案,这就是为什么我在没有任何代码的情况下发布这个问题的原因。它是正确的吗?看到了吗第四只鸟是的,它成功了,非常感谢:)