Php 如何使用REGEXP验证名称

Php 如何使用REGEXP验证名称,php,Php,我正在尝试验证我的姓名文本框,因此即使他们通过它,它也不会接受带有特殊字符(如“!@$%^&*()”和数字)的姓名,这是我的代码: public function updateuserAction(){ $this->view->disable(); $get = $this->request; $key = $get->get('key'); $email = $get->get('email'); $password

我正在尝试验证我的姓名文本框,因此即使他们通过它,它也不会接受带有特殊字符(如“!@$%^&*()”和数字)的姓名,这是我的代码:

  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来说意义重大。谢谢


我已经添加了我的试用代码,php正则表达式匹配函数是-

您的问题有点模糊,但从我收集的信息来看,您希望验证用户名仅包含字母字符。因此,请尝试以下操作

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

哦,伙计,现在我知道是什么让我的代码总是失败了——仅仅因为$realname到$realname——我忘了它是区分大小写的。感谢您努力回答:D

请显示您尝试的验证代码。如果你不知道,我们不能告诉你你做错了什么。你永远不应该验证名字。我这样做只是为了让用户不能添加特殊功能characters@Barmar:我已经输入了代码:D