2014-07-14 33 views
0

我想验证我的名字的文本框,所以即使他们通过它它不会仍然接受名称与特殊字符,如“!@#$%^ & *()_”和数字太多,这是我的代码:如何验证名称使用REGEXP

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"; 
     } 

} 

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

我已经将我的审判代码

+1

请显示您尝试的验证码。如果你不这样做,我们不能告诉你你做错了什么。 – Barmar

+0

你不应该验证名字。永远。 – Qix

+0

我只是这样做,所以用户不能添加特殊字符 – 123bbuingbbuing

回答

0

噢人,现在我知道什么是让我的代码总是落在失败 - - 只是因为$实名到$实名 - - 我忘了这是区分大小写的。感谢您的努力回答家伙:D

0

PHP的正则表达式匹配功能 - preg_match

你的问题有点含糊,但从我可以收集你想验证用户名只包含字母字符。因此尝试类似

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