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. ELK-logstash-6.3.2-常用配置

    1. input-file收集日志信息 [yun@mini04 config]$ pwd /app/logstash/config [yun@mini04 config]$ cat file.conf ...

  2. Java入门(二):注释和基本数据类型

    上次通过eclipse在控制台输出了hello world,是不是有点小激动啊,今天接着介绍Java基础知识. 一.Java注释 1.Java注释语句不会被编译器运行,不用担心代码因为许多注释语句显得 ...

  3. puppet 横向扩展(一)

    目录 1. 概述 2. 实验环境 3. 实验步骤 3.1. 创建puppetmaster的rack环境 3.2. 配置文件设置 3.3. 补充说明 3.4. 测试配置结果 3.4.1. 默认的负载均衡 ...

  4. dp Surf

    题目:https://vj.69fa.cn/1fc993e7e0e1e6fa7ce4640b8d46ef8d?v=1552762626 这个题目和尼克的任务这个题目很像,这个题目因为同一时刻具有选择性 ...

  5. Java基础知识点(三)

    前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...

  6. flask的migrate

    https://blog.csdn.net/kevin_qq/article/details/51777190 这个方法可以: https://www.cnblogs.com/caicairui/p/ ...

  7. YYModel HandyJson

    数学基础: 以类型集合空间为基础,多阶向量结构间的同构映射: 若两个数学结构之间存在同构映射,那么这两个结构叫做是同构的. 基于集合空间的映射: 原理: 1.根据类型名称获得类型的元信息: 2.根据映 ...

  8. mysql执行顺序

    SELECT语句执行顺序 SELECT语句中子句的执行顺序与SELECT语句中子句的输入顺序是不一样的,所以并不是从SELECT子句开始执行的,而是按照下面的顺序执行: 开始->FROM子句-& ...

  9. PHP设计模式_工厂模式

    个人理解工厂类相当于平时用的基类,只需要把类new一次然后付给一个变量,以后直接引入基类调用变量使用类里的方法即可 了解 工厂模式,工厂方法或者类生成对象,而不是在代码中直接new. 使用工厂模式,可 ...

  10. node访问oracledb的环境搭建

    关于安装oracleDB环境官网说明地址: https://oracle.github.io/node-oracledb/INSTALL.html 环境搭建所需软件和文档的压缩包 链接: https: ...