123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- <?php
- namespace huolib\utils;
- use huolib\status\MemberStatus;
- use huolib\tool\KeywordCheck;
- use huolib\tool\StrUtils;
- class UserUtils {
- const USERNAME_MIN_LEN = 4;
- const USERNAME_MAX_LEN = 32;
- const NICKNAME_MIN_LEN = 4;
- const NICKNAME_MAX_LEN = 32;
- const PASSWORD_MIN_LEN = 6;
- const PASSWORD_MAX_LEN = 32;
-
- public static function checkNameMobile($username) {
- if (StrUtils::checkPhone($username)) {
- return MemberStatus::USERNAME_LIKE_MOBILE;
- }
- return MemberStatus::NO_ERROR;
- }
-
- public static function checkRegister($username, $password) {
- if (empty($username)) {
- return MemberStatus::USERNAME_EMPTY;
- }
- if (mb_strlen($username, 'utf-8') < self::USERNAME_MIN_LEN) {
- return MemberStatus::USERNAME_TOO_SHORT;
- }
- if (mb_strlen($username, 'utf-8') > self::USERNAME_MAX_LEN) {
- return MemberStatus::USERNAME_TOO_LONG;
- }
- if (preg_match("/\s/", $username)) {
- return MemberStatus::USERNAME_BAD_CHAR;
- }
- if (preg_match("/^ZN/i", $username)) {
- return MemberStatus::USERNAME_BAD_CHAR;
- }
- $_um_chk = UserUtils::checkNameMobile($username);
- if (MemberStatus::NO_ERROR == $_um_chk) {
- if (!preg_match('/^(?![^a-zA-Z]+$).{4,}$/', $username)) {
- return MemberStatus::USERNAME_BAD_CHAR;
- }
- }
- if (false == StrUtils::checkEnStrAndNum($username)) {
- return MemberStatus::USERNAME_BAD_CHAR;
- }
- if (empty($password)) {
- return MemberStatus::PASSWORD_EMPTY;
- }
- if (preg_match("/\s/", $password)) {
- return MemberStatus::PASSWORD_BAD_CHAR;
- }
- if (strlen($password) > self::PASSWORD_MAX_LEN) {
- return MemberStatus::PASSWORD_TOO_LONG;
- }
- if (strlen($password) < self::PASSWORD_MIN_LEN) {
- return MemberStatus::PASSWORD_TOO_SHORT;
- }
- if (false == StrUtils::checkPrintStr($password)) {
- return MemberStatus::PASSWORD_BAD_CHAR;
- }
- if (KeywordCheck::hasKeyWord($username)) {
- return MemberStatus::USERNAME_SENSITIVE;
- }
- return MemberStatus::NO_ERROR;
- }
-
- public static function checkPassword($password) {
- if (empty($password)) {
- return MemberStatus::PASSWORD_EMPTY;
- }
- if (preg_match("/\s/", $password)) {
- return MemberStatus::PASSWORD_BAD_CHAR;
- }
- if (strlen($password) > self::PASSWORD_MAX_LEN) {
- return MemberStatus::PASSWORD_TOO_LONG;
- }
- if (strlen($password) < self::PASSWORD_MIN_LEN) {
- return MemberStatus::PASSWORD_TOO_SHORT;
- }
- return MemberStatus::NO_ERROR;
- }
-
- public static function checkLogin($username, $password) {
- if (empty($username)) {
- return MemberStatus::USERNAME_EMPTY;
- }
- if (empty($password)) {
- return MemberStatus::PASSWORD_EMPTY;
- }
- return MemberStatus::NO_ERROR;
- }
- public static function checkNickname($nickname) {
- if (empty($nickname)) {
- return MemberStatus::NICKNAME_EMPTY;
- }
- if (mb_strlen($nickname, 'utf-8') < self::NICKNAME_MIN_LEN) {
- return MemberStatus::NICKNAME_TOO_SHORT;
- }
- if (mb_strlen($nickname, 'utf-8') > self::NICKNAME_MAX_LEN) {
- return MemberStatus::NICKNAME_TOO_LONG;
- }
- if (KeywordCheck::hasKeyWord($nickname)) {
- return MemberStatus::NICKNAME_SENSITIVE;
- }
- return MemberStatus::NO_ERROR;
- }
- }
|