1.邮箱验证
function isEmail($email) {
if (!$email) {
return false;
} return preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/', $email);
}
function checkEmail($email)
{
return filter_var($email, FILTER_VALIDATE_EMAIL)
}
 
2. 手机号验证
function isMobile($mobile) {
if (!$mobile) {
return false;
} return preg_match('/^((\(d{2,3}\))|(\d{3}\-))?1(3|5|8|9)\d{9}$/', $mobile);
}
  /**
* 验证手机号
* 13[0-9], 14[5,7], 15[0, 1, 2, 3, 5, 6, 7, 8, 9], 17[6, 7, 8], 18[0-9], 170[0-9]
* 移动号段: 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705
* 联通号段: 130,131,132,155,156,185,186,145,176,1709
* 电信号段: 133,153,180,181,189,177,1700
*/
function mobile($mobile)
{ if(preg_match('/^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|70)\\d{8}$/', $mobile)){
return ;
}elseif(preg_match('/(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(^1705\\d{7}$)/', $mobile)){
return ;
}elseif(preg_match('/(^1(3[0-2]|4[5]|5[56]|7[6]|8[56])\\d{8}$)|(^1709\\d{7}$)/', $mobile)){
return ;
}elseif(preg_match('/(^1(33|53|77|8[019])\\d{8}$)|(^1700\\d{7}$)/', $mobile)){
return ;
}else{
return ;
}
}
 
3. 邮编验证
function isPostalCode($postalCode) {
if (!$postalCode) {
return false;
} return preg_match("/^[1-9]\d{5}$/", $postalCode);
}
 
4. ip验证
function isIPAddress($IPAddress) {
if (!$IPAddress) {
return false;
} return preg_match("/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" .
"(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/", $IPAddress);
}
 
5. 身份证验证
function isIDCard($IDCard) {
if (!$IDCard) {
return false;
} return preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/', $IDCard);
}
 
 6.检查中文
function isCn($str){
if(preg_match("/[\x{4e00}-\x{9fa5}]+/u", $str)) {
return true;
}
return false;
}
 
 7.检查数字
function isNumber($str){
if(preg_match('/^\d+$/', $str)) {
return true;
}
return false;
}
 
8.检查是否每位相同
function isNumSame($str){
if(preg_match('/^(\w)\1+$/', $str)) {
return true;
}
return false;
}
 9.检查是否为空
function isEmpty($str){
if(preg_match('/^\s*$/', $str)) {
return true;
}
return false;
}
 
 10.检测是否为合法url
function isUrl($url){
if(strpos('kkk' . $url, 'http')){
return true;
}
return false;
}
 
 
11.检测一组字符是否有可能组成手机号码
function willMobile($mobile) {
if (!$mobile) {
return false;
} return preg_match('/^((\(d{2,3}\))|(\d{3}\-))?1(3|5|8|9)\d{0,9}$/', $mobile);
}
 
12.检测是否是电话号码
function isPhoneNumber($phone) {
if (!$phone) {
return false;
} return preg_match('/^((0\d{3}[\-])?\d{7}|(0\d{2}[\-])?\d{8})?$/', $phone);
}

13.检测是否是地区码

function isAreaCode($code){
if (!$code) {
return false;
} return preg_match('/^(0\d{3})|(0\d{2})$/', $code);
}
 14.参数验证
/**
* 参数验证
* @param $para 数据
* @param $standard 参数要求
* @return boolen
*/
public static function verifyParams($para, $standard)
{
if ($para === false || empty($para)) {
return false;
} foreach ($standard['REQUIRED'] as $k => $v) {
if (!array_key_exists($k, $para)) {
return false;
}
if(empty($para[$k])){
return false;
} if ('string' == $v) {
if (false === is_string($para[$k])) {
return false;
}
} else if ('int' == $v) {
if ((string)((int)($para[$k])) != $para[$k]) {
return false;
}
} else{
return false;
}
} foreach ($standard['OPTIONAL'] as $k => $v) {
if (!array_key_exists($k, $para)) {
continue;
} if ('string' == $v) {
if (!empty($para[$k]) && false === is_string($para[$k])) {
return false;
}
} else if ('int' == $v) {
if (!empty($para[$k]) && (string)((int)($para[$k])) != $para[$k]) {
return false;
}
} else {
return false;
}
} return true;
}

15.验证用户名称

function checkUsername()
{
return preg_match('/^[a-z\d_]{5,20}$/i', $username);
}

16.验证信用卡号

function checkCardNum($cc)
{
return preg_match('/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/', $cc)
}

17.验证域名

function checkDns($url)
{
return preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url);
}

18.过滤内容

function filterExp(&$value){
if (preg_match_all('/^(EXP|NEQ|GT|EGT|LT|ELT|OR|XOR|LIKE|NOTLIKE|NOT BETWEEN|NOTBETWEEN|BETWEEN|NOTIN|NOT IN|IN)$/i', $value)) {
$value .= ' ';
}
}

19.是否是微信中

function is_weixin(){
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
return true;
}
return false;
}

20.密码验证

function verifyPassword($password){
// 1.排除中文
if(preg_match("/[\x{4e00}-\x{9fa5}]+/u",$password)){
return '含有中文字符';
}
// 2.过滤空白字符
if(preg_match("/\s+/",$password)){
return '含有空白字符';
}
// 3.验证密码长度
$length = strlen($password);
if($length < || $length > ){
return '密码长度不够或超出';
}
$banPasswords = ['','',''];
// 4.简单字符排除
if(in_array($password,$banPasswords)){
return '密码过于简单';
}
$count = ;
// 5.是否是单一密码
for($i = ; $i < $length ; $i++){
if($password[$i] == $password[]){
$count++;
}
} if($count == $length){
return '密码单一';
} return true;
}

21.检测字符集是否是utf-8编码

public function is_utf8($str)
{
$c = ;
$b = ;
$bits = ;
$len = strlen($str);
for($i = ; $i < $len; $i++) {
$c = ord($str[$i]);
if ($c > ) {
if (($c >= )) return false;
elseif ($c >= ) $bits = ;
elseif ($c >= ) $bits = ;
elseif ($c >= ) $bits = ;
elseif ($c >= ) $bits = ;
elseif ($c >= ) $bits = ;
else return false;
if (($i + $bits) > $len) return false;
while ($bits > ) {
$i++;
$b = ord($str[$i]);
if ($b < || $b > ) return false;
$bits--;
}
}
}
return true;
}

22.检测session是否开启

function is_session_started()
{
if ( php_sapi_name() !== 'cli' ) {
if ( version_compare(phpversion(), '5.4.0', '>=') ) {
return session_status() === PHP_SESSION_ACTIVE ? TRUE : FALSE;
} else {
return session_id() === '' ? FALSE : TRUE;
}
}
return FALSE;
} // Example
if ( is_session_started() === FALSE ) session_start();
session 三种状态:
PHP_SESSION_DISABLED 会话被禁用
PHP_SESSION_NONE 会话启用,但会话不存在
PHP_SESSON_ACTIVE 会话启用,同时会话存在

23.验证是否是https协议

function checkSsl()
{
return (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https');
}

24.验证图片是否是真实GIF图

function checkGif($img)
{
if(!file_exists($img)){
return -;
}
$handle = fopen($img,'rb');
$img = fread($handle,'');
fclose($handle);
return strpos($img,chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0') === FALSE ? : ;
}

25.判断数组是否是多维数组

function checkMultArray($arr)
{
return count($arr) !== count($arr,1);
}

php开发之常用验证方法的更多相关文章

  1. rails常用验证方法 (转)

    validates_presence_of       :login,  :message => "用户名不能为空!" validates_length_of         ...

  2. JS常用验证方法

    1.验证必须为数字(可有小数点) if(isNaN(value))execCommand('undo') 说明:1.isNaN()方法用于验证value值是否为非法数字,返回值true或者false. ...

  3. 【java】开发中常用字符串方法

    java字符串的功能可以说非常强大, 它的每一种方法也都很有用. java字符串中常用的有两种字符串类, 分别是String类和StringBuffer类. Sting类 String类的对象是不可变 ...

  4. rails常用验证方法

    validates_presence_of       :login,  :message => "用户名不能为空!" validates_length_of         ...

  5. Android开发中常用到方法总结

    1.判断服务是否在运行中 public static boolean isServiceRunning(Context context, String serviceName) {  boolean ...

  6. IOS开发之----常用加密方法

    本文转载至 http://blog.csdn.net/wildfireli/article/details/23191983 (AES.MD5.Base64) 分类: iPhone 2014-04-0 ...

  7. IOS开发中常用一下方法

    1.获得屏幕的宽高 [UIScreen mainScreen].bounds.size.width [UIScreen mainScreen].bounds.size.height 2.Iphone版 ...

  8. ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证

    ASP.NET开发中主要的字符验证方法-JS验证.正则表达式.验证控件.后台验证 2012年03月19日 星期一 下午 8:53 在ASP.NET开发中主要的验证方法收藏 <1>使用JS验 ...

  9. 2019-2-20C#开发中常用加密解密方法解析

    C#开发中常用加密解密方法解析 一.MD5加密算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是 message-digest algorithm 5[|ˈmes ...

随机推荐

  1. PHP实现类似题库抽题效果

    PHP实现类似题库抽题效果 大家好,我顾某人又回来了,最近学了一点PHP,然后就想写个简单小例子试试,于是就写了一个类似于从题库抽题的东西,大概就是先输入需要抽题的数量,然后从数据库中随机抽取题目. ...

  2. IntelliJ IDEA 创建maven管理的webapp项目

    因为使用框架时基本需要使用maven管理项目,所以单独写一个搭建maven项目的流程 第一步:  File-->New--Project 第二步:  选择maven框架 第三步:  输入工程id ...

  3. 前端使用node.js+express+mockjs+mysql实现简单服务端,2种方式模拟数据返回

    今天,我教大家来搭建一个简单服务端 参考文章: https://www.jianshu.com/p/cb89d9ac635e https://www.cnblogs.com/jj-notes/p/66 ...

  4. Spring Boot 菜鸟教程 application.properties 常用配置

    SPRING CONFIG (ConfigFileApplicationListener) spring.config.name 配置文件名称,默认为application spring.config ...

  5. 【BZOJ3451】Normal

    [BZOJ3451]Normal Description 某天WJMZBMR学习了一个神奇的算法:树的点分治! 这个算法的核心是这样的: 消耗时间=0 Solve(树 a) 消耗时间 += a 的 大 ...

  6. Numpy 模块的应用

    数据分析三剑客: Numpy, Pandas, Matplotlib NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数 ...

  7. SQL Alias(别名)

    通过使用 SQL,可以为列名称和表名称指定别名(Alias). SQL Alias 表的 SQL Alias 语法 SELECT column_name(s) FROM table_name AS a ...

  8. JAVA序列化和反序列化XML

    package com.lss.utils; import java.beans.XMLDecoder; import java.beans.XMLEncoder; import java.io.Bu ...

  9. [转]Jquery 点击图片在弹出层显示大图

    这个还行不需要别的包! https://www.cnblogs.com/antis/p/7053991.html

  10. docker swarm:Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable

    环境:cetos7 描述:创建完docker swarm,想把node主机加入swarm中,执行以下命令时,报错 无法连接! 原因是:防火墙!!!!!!!没关!!!! 解决办法是:关闭防火墙