我正在尝试验证我的名字的文本框,所以即使他们通过它也不会接受带有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。谢谢!
我已经添加了试用代码
答案 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