php开发之常用验证方法
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)
}
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 ;
}
}
function isPostalCode($postalCode) {
if (!$postalCode) {
return false;
}
return preg_match("/^[1-9]\d{5}$/", $postalCode);
}
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);
}
function isIDCard($IDCard) {
if (!$IDCard) {
return false;
}
return preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/', $IDCard);
}
function isCn($str){
if(preg_match("/[\x{4e00}-\x{9fa5}]+/u", $str)) {
return true;
}
return false;
}
function isNumber($str){
if(preg_match('/^\d+$/', $str)) {
return true;
}
return false;
}
function isNumSame($str){
if(preg_match('/^(\w)\1+$/', $str)) {
return true;
}
return false;
}
function isEmpty($str){
if(preg_match('/^\s*$/', $str)) {
return true;
}
return false;
}
function isUrl($url){
if(strpos('kkk' . $url, 'http')){
return true;
}
return false;
}
function willMobile($mobile) {
if (!$mobile) {
return false;
}
return preg_match('/^((\(d{2,3}\))|(\d{3}\-))?1(3|5|8|9)\d{0,9}$/', $mobile);
}
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);
}
/**
* 参数验证
* @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开发之常用验证方法的更多相关文章
- rails常用验证方法 (转)
validates_presence_of :login, :message => "用户名不能为空!" validates_length_of ...
- JS常用验证方法
1.验证必须为数字(可有小数点) if(isNaN(value))execCommand('undo') 说明:1.isNaN()方法用于验证value值是否为非法数字,返回值true或者false. ...
- 【java】开发中常用字符串方法
java字符串的功能可以说非常强大, 它的每一种方法也都很有用. java字符串中常用的有两种字符串类, 分别是String类和StringBuffer类. Sting类 String类的对象是不可变 ...
- rails常用验证方法
validates_presence_of :login, :message => "用户名不能为空!" validates_length_of ...
- Android开发中常用到方法总结
1.判断服务是否在运行中 public static boolean isServiceRunning(Context context, String serviceName) { boolean ...
- IOS开发之----常用加密方法
本文转载至 http://blog.csdn.net/wildfireli/article/details/23191983 (AES.MD5.Base64) 分类: iPhone 2014-04-0 ...
- IOS开发中常用一下方法
1.获得屏幕的宽高 [UIScreen mainScreen].bounds.size.width [UIScreen mainScreen].bounds.size.height 2.Iphone版 ...
- ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证
ASP.NET开发中主要的字符验证方法-JS验证.正则表达式.验证控件.后台验证 2012年03月19日 星期一 下午 8:53 在ASP.NET开发中主要的验证方法收藏 <1>使用JS验 ...
- 2019-2-20C#开发中常用加密解密方法解析
C#开发中常用加密解密方法解析 一.MD5加密算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是 message-digest algorithm 5[|ˈmes ...
随机推荐
- PHP实现类似题库抽题效果
PHP实现类似题库抽题效果 大家好,我顾某人又回来了,最近学了一点PHP,然后就想写个简单小例子试试,于是就写了一个类似于从题库抽题的东西,大概就是先输入需要抽题的数量,然后从数据库中随机抽取题目. ...
- IntelliJ IDEA 创建maven管理的webapp项目
因为使用框架时基本需要使用maven管理项目,所以单独写一个搭建maven项目的流程 第一步: File-->New--Project 第二步: 选择maven框架 第三步: 输入工程id ...
- 前端使用node.js+express+mockjs+mysql实现简单服务端,2种方式模拟数据返回
今天,我教大家来搭建一个简单服务端 参考文章: https://www.jianshu.com/p/cb89d9ac635e https://www.cnblogs.com/jj-notes/p/66 ...
- Spring Boot 菜鸟教程 application.properties 常用配置
SPRING CONFIG (ConfigFileApplicationListener) spring.config.name 配置文件名称,默认为application spring.config ...
- 【BZOJ3451】Normal
[BZOJ3451]Normal Description 某天WJMZBMR学习了一个神奇的算法:树的点分治! 这个算法的核心是这样的: 消耗时间=0 Solve(树 a) 消耗时间 += a 的 大 ...
- Numpy 模块的应用
数据分析三剑客: Numpy, Pandas, Matplotlib NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数 ...
- SQL Alias(别名)
通过使用 SQL,可以为列名称和表名称指定别名(Alias). SQL Alias 表的 SQL Alias 语法 SELECT column_name(s) FROM table_name AS a ...
- JAVA序列化和反序列化XML
package com.lss.utils; import java.beans.XMLDecoder; import java.beans.XMLEncoder; import java.io.Bu ...
- [转]Jquery 点击图片在弹出层显示大图
这个还行不需要别的包! https://www.cnblogs.com/antis/p/7053991.html
- docker swarm:Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable
环境:cetos7 描述:创建完docker swarm,想把node主机加入swarm中,执行以下命令时,报错 无法连接! 原因是:防火墙!!!!!!!没关!!!! 解决办法是:关闭防火墙