1 <?php
2
3 /**
4 * @param $id
5 * @return false|int
6 * 检测id
7 */
8 function check_id($id){
9 return preg_match('/^[1-9][0-9]*$/', $id);
10 }
11
12 /**
13 * @param $mobile
14 * @return false|int
15 * 检测手机号格式
16 */
17 function check_mobile($mobile) {
18 return preg_match('/^1[3|4|5|7|8]\d{9}$/', $mobile);
19 }
20
21 /**
22 * @param $phone
23 * @return false|int
24 * 检测电话号码
25 */
26 function check_phone($phone) {
27 return preg_match ( '/^(0[0-9]{2,3}-?)?[0-9]{7,8}$/', $phone );
28 }
29
30 /**
31 * @param $mobile_phone
32 * @return bool
33 * 检测是手机或者电话
34 */
35 function check_contacts($mobile_phone) {
36 return check_mobile($mobile_phone) || check_phone($mobile_phone);
37 }
38
39 /**
40 * @param $nickname
41 * @return false|int
42 * 检测昵称
43 */
44 function check_nickname($nickname){
45 return preg_match ( "/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_\-\*]+$/u", $nickname );
46 }
47
48 /**
49 * @param $username
50 * @return false|int
51 * 检测用户名
52 */
53 function check_username($username){
54 return preg_match ( "/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_\-\*]+$/u", $username );
55 }
56
57 /**
58 * @param $keyword
59 * @return false|int
60 * 检测关键词
61 */
62 function check_keyword($keyword){
63 return preg_match("/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_-]+$/u" , $keyword);
64 }
65
66 /**
67 * @param $nickname
68 * @return bool
69 * 检测昵称可用性
70 */
71 function check_nickname_available($nickname) {
72 $black_list = array("慕马");
73 foreach($black_list as $name) {
74 if(strpos($nickname , $name) !== false) {
75 return false;
76 }
77 }
78 return true;
79 }
80
81 /**
82 * @param $data
83 * @return bool
84 * 检测非空数组
85 */
86 function check_array($data){
87 return !empty($data) && is_array($data);
88 }
89
90 /**
91 * @param $str
92 * @param string $separate
93 * @return false|int
94 * 检测是否是数字+分割服间断,如:1#2#3
95 */
96 function check_number_separate($str,$separate = '#'){
97 return preg_match("/^(\d+)({$separate}(\d)+)*$/u",$str);
98 }
99
100 /**
101 * @param $date
102 * @param string $format
103 * @return bool
104 * 检测是否符合指定格式的日期字符串
105 */
106 function check_date($date,$format = 'Y-m-d H:i:s'){
107 return $date == date($format,strtotime($date));
108 }
109
110 /**
111 * @param $email
112 * @return false|int
113 * 验证邮箱
114 */
115 function check_email($email){
116 return preg_match ( '/^[0-9a-zA-Z_][-_\.0-9a-zA-Z]{0,63}@([0-9a-z][0-9a-z-]*\.)+[a-z]{2,4}$/', $email);
117 }
118