php验证方法(手机、email)等工具类
时间:2019-10-22
本文章向大家介绍php验证方法(手机、email)等工具类,主要包括php验证方法(手机、email)等工具类使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
/** * @param string $sql * @param array $columns * @param string $field * @param string $other * @param string $fileName * @param string $db * @throws CException * @throws PHPExcel_Exception * @throws PHPExcel_Reader_Exception * @throws PHPExcel_Writer_Exception PHPExcel---- excel文件下载 */ public static function downLoad($sql='',$columns=[],$field='',$other='',$fileName='',$db='db'){ if(empty($fileName)){ $fileName=date("YmdHis"); } if(empty($sql)){ exit('参数不存在'); } if(!is_array($columns)){ exit('格式错误'); } Yii::$enableIncludePath = false; Yii::import('application.extensions.PHPExcel.PHPExcel', 1); $phpexcel = new PHPExcel; $phpexcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") ->setKeywords("office 2007 openxml php") ->setCategory("Test result file"); $i=0; foreach($columns as $key1=>$value1){ $phpexcel->setActiveSheetIndex(0)->setCellValue(chr(65+$i).'1', $value1); $i++; } $i=0; $res = Yii::app()->$db->createCommand($sql)->queryAll(); foreach($res as $row){ $j=0; $item = self::changeDataType($row,$field,$other); //这里需要根据调用的类具体修改 foreach($columns as $key1=>$value1){ $columnvalue=$item["$key1"]; $phpexcel->setActiveSheetIndex(0)->setCellValueExplicit(chr(65+$j).($i+2),$columnvalue); $j++; } $i++; } $phpexcel->setActiveSheetIndex(0); header('Expires: ' . date(DATE_RFC1123)); header('Cache-Control: no-store, no-cache, must-revalidate,'. ' pre-check=0, post-check=0, max-age=0'); header('Last-Modified: ' . date(DATE_RFC1123)); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename="'.$fileName.'.xls"'); $objWriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel5'); $objWriter->save('php://output'); exit; } /** * @param $row * @param $field [字段=>'date|st'] * @param array $other [] 和field对应 * @return mixed * */ public static function changeDataType($row, $field,$other=[]) { foreach($field as $key=>$value){ switch($value) { case 'date': $row[$key] = date("Y-m-d H:i:s",$row[$key]); break; case 'st': $row[$key] = empty($other)? $row[$key]:$other[$key][$row[$key]]; break; case 'eq': $row[$key] = empty($other)? $row[$key]:($row[$key]==$other[$key]['eqVal'] ? $other[$key]['yes']:$other[$key]['no']); break; case 'filterEmoji': $row[$key] = self::filterEmoji( $row[$key]); break; } } return $row; } /** * @param $filePath * @param $ext * @return array * @throws CException * @throws PHPExcel_Reader_Exception PHPExcel数据导出 */ public static function getExcelData($filePath,$ext){ Yii::$enableIncludePath = false; Yii::import('application.extensions.PHPExcel.PHPExcel', 1); $ext= strtolower($ext)==='xls' ? 'Excel5': 'Excel2007'; $objReader = \PHPExcel_IOFactory::createReader($ext);//创建读取实例 $objPHPExcel = $objReader->load($filePath, $encode = 'utf-8');//加载文件 $sheet = $objPHPExcel->getSheet(0);//取得sheet(0)表 $highestRow = $sheet->getHighestRow(); // 取得总行数 $highestColumn = $sheet->getHighestColumn(); // 取得总列数 $arr = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); // 一次读取一列 $columnLen = array_search($highestColumn,$arr); $retArr = array(); for ($row = 2; $row <= $highestRow; $row++) { $row_arr = array(); for ($column = 0; $column<=$columnLen; $column++) { $val = $sheet->getCellByColumnAndRow($column, $row)->getValue(); $row_arr[] = $val; } $retArr[] = $row_arr; } return $retArr; } /** * @param $mobile * @return bool * 验证手机号是否正确 */ function isMobile($mobile) { if (!is_numeric($mobile)) { return false; } return preg_match('#^1[3,4,5,7,8,9]{1}[\d]{9}$#', $mobile) ? true : false; } /** * 正则表达式验证email格式 * * @param string $str 所要验证的邮箱地址 * @return boolean */ function isEmail($str) { if (!$str) { return false; } return preg_match('#[a-z0-9&\-_.]+@[\w\-_]+([\w\-.]+)?\.[\w\-]+#is', $str) ? true : false; }
原文地址:https://www.cnblogs.com/-lin/p/11719961.html
- HDU 2147 kiki's game(规律,博弈)
- HDU 1847 Good Luck in CET-4 Everybody!(规律,博弈)
- [network][udp]你不要偷偷发包,我跟你讲
- [快学Python3]HTTP处理 - urllib模块
- 关小刷刷题08 – Leetcode 26. Remove Duplicates from Sorted Array 方法2、3
- C++课程设计类作业2
- C++课程设计类作业4
- [接口测试 - 基础篇] 01 你应该了解的协议基础
- 代码分享系列(1)之感知机【代码可下载】
- C++课程设计类作业3
- [快学Python3]INI文件读写
- 【专知-PyTorch手把手深度学习教程08】NLP-PyTorch: 用字符级RNN生成名字
- Codeforces Round #415 (Div. 2)(A,暴力,B,贪心,排序)
- BZOJ 2456: mode(新生必做的水题)
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- LeetCode | 20.有效的括号
- springboot开发之实现登录功能
- springboot开发之国际化(中英文切换)
- LeetCode | 225.用队列实现栈
- springboot开发之显示员工信息
- LeetCode | 232.用栈实现队列
- springboot开发之thymeleaf页面公共元素的抽取
- Redis | Redis 通用命令
- python爬虫--自动下载cosplay小姐姐图片(xpath使用自定义创建文件路径)
- springboot开发之修改员工
- LeetCode | 703.数据流中的第K大元素
- springboot开发之配置自定义的错误界面和错误信息
- springboot开发之删除员工
- LeetCode | 1.两数之和
- springboot开发之配置嵌入式Servlet容器两种方式