如何使用REGEX验证名称

时间:2014-07-14 02:27:53

标签: php

我正在尝试验证我的名字的文本框,所以即使他们通过它也不会接受带有spcial字符的名称,例如“!@#$%^& *()_”和数字也是这样的是我的代码:

  public function updateuserAction(){
    $this->view->disable();
    $get = $this->request;
    $key = $get->get('key');
    $email = $get->get('email');
    $password = $get->get('password');
    $realName = $get->get('realName');
    $type = $get->get('userType');

        if(filter_var($realname, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[a-zA-Z]+$/")))){
        $url = $this->apiUrl."user/update?q=(key:$key,email:".urlencode($email).",password:".urlencode($password).",realName:".urlencode($realName).",userType:".urlencode($type).")&envelope=false";
        $ch = curl_init($url);
        curl_setopt_array($ch, $this->curlopt);
        echo  curl_exec($ch);
        }else {
        echo "Failed";
        }

}

这是我的代码,我不知道如何在此处插入验证。每当我在这里添加验证代码时,它总是给我一个错误信息。我是这个系列的新手,所以如果可以帮助它将意味着很多e。谢谢!

我已经添加了试用代码

2 个答案:

答案 0 :(得分:0)

php正则表达式匹配函数是 - preg_match

您的问题有点模糊,但从我可以收集到的内容,您要验证用户名仅包含字母字符。像这样尝试

if (preg_match("^[a-zA-Z]+$") == false)
{
   echo "Username is invalid.";
   die(); // or some other error handling code
}

答案 1 :(得分:0)

Aww man,现在我知道是什么让我的代码总是失败 - - 只是因为$ realname到$ realName - - 我忘了它的区分大小写。谢谢你为回答家伙所做的努力:D