php常见的验证方法

干货文章

·2018-03-16 23:50:36

 <?php

 /**
* @param $id
* @return false|int
* 检测id
*/
function check_id($id){
return preg_match('/^[1-9][0-9]*$/', $id);
} /**
* @param $mobile
* @return false|int
* 检测手机号格式
*/
function check_mobile($mobile) {
return preg_match('/^1[3|4|5|7|8]\d{9}$/', $mobile);
} /**
* @param $phone
* @return false|int
* 检测电话号码
*/
function check_phone($phone) {
return preg_match ( '/^(0[0-9]{2,3}-?)?[0-9]{7,8}$/', $phone );
} /**
* @param $mobile_phone
* @return bool
* 检测是手机或者电话
*/
function check_contacts($mobile_phone) {
return check_mobile($mobile_phone) || check_phone($mobile_phone);
} /**
* @param $nickname
* @return false|int
* 检测昵称
*/
function check_nickname($nickname){
return preg_match ( "/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_\-\*]+$/u", $nickname );
} /**
* @param $username
* @return false|int
* 检测用户名
*/
function check_username($username){
return preg_match ( "/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_\-\*]+$/u", $username );
} /**
* @param $keyword
* @return false|int
* 检测关键词
*/
function check_keyword($keyword){
return preg_match("/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_-]+$/u" , $keyword);
} /**
* @param $nickname
* @return bool
* 检测昵称可用性
*/
function check_nickname_available($nickname) {
$black_list = array("慕马");
foreach($black_list as $name) {
if(strpos($nickname , $name) !== false) {
return false;
}
}
return true;
} /**
* @param $data
* @return bool
* 检测非空数组
*/
function check_array($data){
return !empty($data) && is_array($data);
} /**
* @param $str
* @param string $separate
* @return false|int
* 检测是否是数字+分割服间断,如:1#2#3
*/
function check_number_separate($str,$separate = '#'){
return preg_match("/^(\d+)({$separate}(\d)+)*$/u",$str);
} /**
* @param $date
* @param string $format
* @return bool
* 检测是否符合指定格式的日期字符串
*/
function check_date($date,$format = 'Y-m-d H:i:s'){
return $date == date($format,strtotime($date));
} /**
* @param $email
* @return false|int
* 验证邮箱
*/
function check_email($email){
return preg_match ( '/^[0-9a-zA-Z_][-_\.0-9a-zA-Z]{0,63}@([0-9a-z][0-9a-z-]*\.)+[a-z]{2,4}$/', $email);
}

php常见的验证方法的更多相关文章

  1. Spring Security验证流程剖析及自定义验证方法

    Spring Security的本质 Spring Security本质上是一连串的Filter, 然后又以一个独立的Filter的形式插入到Filter Chain里,其名为FilterChainP ...

  2. SQLMAP注入教程-11种常见SQLMAP使用方法详解

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

  3. [转]11种常见sqlmap使用方法详解

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

  4. Tomcat安装教程及常见错误解决方法

    目录 Tomcat安装教程及常见错误解决方法 一.安装前准备 ·熟悉自己电脑的操作系统版本(32位or64位) ·保证电脑上已经装好JDK,并且已经设置好环境变量. 二.Tomcat安装教程(以Tom ...

  5. Android中ListView的几种常见的优化方法

    Android中的ListView应该算是布局中几种最常用的组件之一了,使用也十分方便,下面将介绍ListView几种比较常见的优化方法: 首先我们给出一个没有任何优化的Listview的Adapte ...

  6. 基于 Token 的身份验证方法

    使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录.大概的流程是这样的: 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功后,服务端会签发一个 Toke ...

  7. validate插件深入学习-04自定义验证方法

    自定义验证方法 jQuery.validator.addMethod(name,method,[,message]) name: 方法名 method: function(value,element, ...

  8. 基于 Annotation 拦截的 Spring AOP 权限验证方法

    基于 Annotation 拦截的 Spring AOP 权限验证方法 转自:http://www.ibm.com/developerworks/cn/java/j-lo-springaopfilte ...

  9. 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

随机推荐

  1. 试试监听输入框的值 (eq:在未输入前,按钮为灰色,输入内容后,按钮变蓝色)

    参考网址:https://blog.csdn.net/tel13259437538/article/details/78927071

  2. 小白struts2 札记

    struts2里面的filter 也就是起个过滤作用的  1 过滤request 请求2 过滤文件类型 禁用的文字等

  3. Clip

    网页中的渲染是由CSS来实现,CSS2就不说了,那个没得说的,最常用的就是个颜色布局什么的. CSS3 自从有了CSS3,相比CSS2变得更具有活力了,CSS3没有什么方法函数的,它跟CSS2一样也是 ...

  4. 17.Priority优先级

    /** * 优先级 */ public class PriorityDemo { public static class HightPriority extends Thread{ static in ...

  5. PHP浮点精度问题

    使用php+ - * /计算浮点数的时候,可能会遇到一些计算结果错误的问题,如下: <?php echo intval(0.58 * 100); //输出57 解决办法 <?php ech ...

  6. Python文件读写(一)

    import time as t from os import path def createFile(dest): date = t.localtime(t.time()) name = '%d_% ...

  7. Spring MVC processing flow

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11484057.html DispatcherServlet receives the request. ...

  8. Struts2增删改查(自己思路理解)

    1:查询所有: DAO层:把所有的信息都放到list集合中.然后返回. public List<Employee> getEmployees(){ return new ArrayList ...

  9. UNP学习第九章 基本名字与地址转换

    之前都用数值地址来表示主机(206.6.226.33),用数值端口号来标识服务器. 然而,我们应该使用名字而不是数值:名字比较容易记,数值地址可以改变但名字保持不变. 随着往IPv6上转移,数值地址变 ...

  10. mysql5.6配置详解

    系统 4核 16G Centos6.5 x64 优化后测试结果如下 #mysqlslap #--concurrency=2 #--iterations=1 #--number-int-cols=10 ...