public function testMobile() { $result = SimpleValidator::mobile("12345678990"); $this->assertEquals(true, $result); $result = SimpleValidator::mobile("22345678990"); $this->assertEquals(false, $result); $result = SimpleValidator::mobile("123456789900"); $this->assertEquals(false, $result); $result = SimpleValidator::mobile("12345678x90"); $this->assertEquals(false, $result); }
protected function isMobileRegister($registration) { if (isset($registration['emailOrMobile']) && !empty($registration['emailOrMobile'])) { if (SimpleValidator::mobile($registration['emailOrMobile'])) { return true; } } elseif (isset($registration['mobile']) && !empty($registration['mobile'])) { if (SimpleValidator::mobile($registration['mobile'])) { return true; } } return false; }
public function existAction(Request $request, $type) { $token = $request->getSession()->get('oauth_token'); $client = $this->createOAuthClient($type); $oauthUser = $client->getUserInfo($token); $data = $request->request->all(); $message = 'Email地址或手机号码输入错误'; if (SimpleValidator::email($data['emailOrMobile'])) { $user = $this->getUserService()->getUserByEmail($data['emailOrMobile']); $message = '该Email地址尚未注册'; } else { if (SimpleValidator::mobile($data['emailOrMobile'])) { $user = $this->getUserService()->getUserByVerifiedMobile($data['emailOrMobile']); $message = '该手机号码尚未注册'; } } if (empty($user)) { $response = array('success' => false, 'message' => $message); } elseif (!$this->getUserService()->verifyPassword($user['id'], $data['password'])) { $response = array('success' => false, 'message' => '密码不正确,请重试!'); } elseif ($this->getUserService()->getUserBindByTypeAndUserId($type, $user['id'])) { $response = array('success' => false, 'message' => "该{{ {$this->setting}('site.name') }}帐号已经绑定了该第三方网站的其他帐号,如需重新绑定,请先到账户设置中取消绑定!"); } else { $response = array('success' => true, '_target_path' => $request->getSession()->get('_target_path', $this->generateUrl('homepage'))); $this->getUserService()->bindUser($type, $oauthUser['id'], $user['id'], $token); $this->authenticateUser($user); } return $this->createJsonResponse($response); }
| password | string | 是 | 密码 | ** 响应 ** ``` { "xxx": "xxx" } ``` */ $api->post('/', function (Request $request) { $fields = $request->request->all(); $error = array(); //验证手机验证码 $mobile_number = $fields['nickname']; if (!SimpleValidator::mobile($mobile_number)) { $error['message'] = '手机号码格式不正确'; return $error; } if (!isset($fields['email']) || empty($fields['email'])) { $fields['email'] = "{$mobile_number}@163.com"; } $fields['verifiedMobile'] = $mobile_number; $session = new Session(); $session->start(); if ($session->has($mobile_number)) { $info = $session->get($mobile_number); if ($fields['code'] != $info['code']) { $error['message'] = '验证码不正确'; return $error; }
public function updateUserProfile($id, $fields) { $user = $this->getUser($id); if (empty($user)) { throw $this->createServiceException('用户不存在,更新用户失败。'); } $fields = ArrayToolkit::filter($fields, array('truename' => '', 'gender' => 'secret', 'iam' => '', 'idcard' => '', 'birthday' => null, 'city' => '', 'mobile' => '', 'qq' => '', 'school' => '', 'class' => '', 'company' => '', 'job' => '', 'signature' => '', 'title' => '', 'about' => '', 'weibo' => '', 'weixin' => '', 'site' => '', 'intField1' => null, 'intField2' => null, 'intField3' => null, 'intField4' => null, 'intField5' => null, 'dateField1' => null, 'dateField2' => null, 'dateField3' => null, 'dateField4' => null, 'dateField5' => null, 'floatField1' => null, 'floatField2' => null, 'floatField3' => null, 'floatField4' => null, 'floatField5' => null, 'textField1' => "", 'textField2' => "", 'textField3' => "", 'textField4' => "", 'textField5' => "", 'textField6' => "", 'textField7' => "", 'textField8' => "", 'textField9' => "", 'textField10' => "", 'varcharField1' => "", 'varcharField2' => "", 'varcharField3' => "", 'varcharField4' => "", 'varcharField5' => "", 'varcharField6' => "", 'varcharField7' => "", 'varcharField8' => "", 'varcharField9' => "", 'varcharField10' => "")); if (empty($fields)) { return $this->getProfileDao()->getProfile($id); } if (isset($fields['title'])) { $this->getUserDao()->updateUser($id, array('title' => $fields['title'])); $this->dispatchEvent('user.update', new ServiceEvent(array('user' => $user, 'fields' => $fields))); } unset($fields['title']); if (!empty($fields['gender']) && !in_array($fields['gender'], array('male', 'female', 'secret'))) { throw $this->createServiceException('性别不正确,更新用户失败。'); } if (!empty($fields['birthday']) && !SimpleValidator::date($fields['birthday'])) { throw $this->createServiceException('生日不正确,更新用户失败。'); } if (!empty($fields['mobile']) && !SimpleValidator::mobile($fields['mobile'])) { throw $this->createServiceException('手机不正确,更新用户失败。'); } if (!empty($fields['qq']) && !SimpleValidator::qq($fields['qq'])) { throw $this->createServiceException('QQ不正确,更新用户失败。'); } if (!empty($fields['about'])) { $fields['about'] = $this->purifyHtml($fields['about']); } $userProfile = $this->getProfileDao()->updateProfile($id, $fields); $this->dispatchEvent('profile.update', new ServiceEvent(array('user' => $user, 'fields' => $fields))); return $userProfile; }
public function checkEmailOrMobile($emailOrMobile) { if (SimpleValidator::email($emailOrMobile)) { return $this->checkEmail($emailOrMobile); } else { if (SimpleValidator::mobile($emailOrMobile)) { return $this->checkMobile($emailOrMobile); } else { return array('error_dateInput', '电子邮箱或者手机号码格式不正确!'); } } }
``` */ $api->post('/', function (Request $request) { $fields = $request->request->all(); $error = array(); //验证手机号码 if (empty($fields['nickname'])) { $fields['nickname'] = $fields['verifiedMobile']; } $user = ServiceKernel::instance()->createService('User.UserService')->getUserByLoginField($fields['verifiedMobile']); if (!empty($user)) { $error['message'] = '手机号已经被占用'; return $error; } $mobile_number = $fields['verifiedMobile']; if (!SimpleValidator::mobile($fields['verifiedMobile'])) { $error['message'] = '手机号码格式不正确'; return $error; } if (!isset($fields['email']) || empty($fields['email'])) { $fields['email'] = "{$mobile_number}@163.com"; } $session = new Session(); $session->start(); if ($session->has($mobile_number)) { $info = $session->get($mobile_number); if ($fields['code'] != $info['code']) { $error['message'] = '验证码不正确'; return $error; } } else {
public function existBindAction(Request $request) { $token = $request->getSession()->get('oauth_token'); $type = 'weixinmob'; $client = $this->createOAuthClient($type); $oauthUser = $client->getUserInfo($token); $olduser = $this->getCurrentUser(); $userBinds = $this->getUserService()->unBindUserByTypeAndToId($type, $olduser->id); $data = $request->request->all(); $message = 'Email地址或手机号码输入错误'; if (SimpleValidator::email($data['emailOrMobile'])) { $user = $this->getUserService()->getUserByEmail($data['emailOrMobile']); $message = '该Email地址尚未注册'; } elseif (SimpleValidator::mobile($data['emailOrMobile'])) { $user = $this->getUserService()->getUserByVerifiedMobile($data['emailOrMobile']); $message = '该手机号码尚未注册或绑定'; } if (empty($user)) { $response = array('success' => false, 'message' => $message); } elseif (!$this->getUserService()->verifyPassword($user['id'], $data['password'])) { $response = array('success' => false, 'message' => '密码不正确,请重试!'); } elseif ($this->getUserService()->getUserBindByTypeAndUserId($type, $user['id'])) { $response = array('success' => false, 'message' => '该帐号已经绑定了该第三方网站的其他帐号,如需重新绑定,请先到账户设置中取消绑定!'); } else { $response = array('success' => true, '_target_path' => $this->getTargetPath($request)); $this->getUserService()->bindUser($type, $oauthUser['id'], $user['id'], $token); $this->authenticateUser($user); } return $this->createJsonResponse($response); }