php常用表单验证类用法实例


Posted in PHP onJune 18, 2015

本文实例讲述了php常用表单验证类用法。分享给大家供大家参考。具体如下:

<?php
/**
* 页面作用:常用表单验证类
* 作 者:欣然随风
* QQ:276624915
*/
class class_post
{
//验证是否为指定长度的字母/数字组合
function fun_text1($num1,$num2,$str)
{
   Return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false;
}
//验证是否为指定长度数字
function fun_text2($num1,$num2,$str)
{
   return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false;
}
//验证是否为指定长度汉字
function fun_font($num1,$num2,$str)
{
// preg_match("/^[\xa0-\xff]{1,4}$/", $string);
 
  return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false;
}
//验证身份证号码
function fun_status($str)
{
   return (preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/',$str))?true:false;
}
//验证邮件地址
function fun_email($str){
   return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/',$str))?true:false;
}
//验证电话号码
function fun_phone($str)
{
  return (preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/",$str))?true:false;
}
//验证邮编
function fun_zip($str)
{
  return (preg_match("/^[1-9]\d{5}$/",$str))?true:false;
}
//验证url地址
function fun_url($str)
{
  return (preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/",$str))?true:false;
}
// 数据入库 转义 特殊字符 传入值可为字符串 或 一维数组
function data_join(&$data)
{
  if(get_magic_quotes_gpc() == false)
  {
  if (is_array($data))
  {
   foreach ($data as $k => $v)
   {
   $data[$k] = addslashes($v);
   }
  }
  else
  {
  $data = addslashes($data);
  }
  }
  Return $data;
}
// 数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组
function data_revert(&$data)
{
  if (is_array($data))
  {
  foreach ($data as $k1 => $v1)
  {
   if (is_array($v1))
   {
   foreach ($v1 as $k2 => $v2)
   {
   $data[$k1][$k2] = stripslashes($v2);
   }
   }
   else
   {
   $data[$k1] = stripslashes($v1);
   }
  }
  }
  else
  {
  $data = stripslashes($data);
  }
  Return $data;
}
// 数据显示 还原 数据格式 主要用于内容输出 传入值可为字符串 或 一/二维数组
// 执行此方法前应先data_revert(),表单内容无须此还原
function data_show(&$data)
{
  if (is_array($data))
  {
  foreach ($data as $k1 => $v1)
  {
   if (is_array($v1))
   {
   foreach ($v1 as $k2 => $v2)
   {
   $data[$k1][$k2]=nl2br(htmlspecialchars($data[$k1][$k2]));
   $data[$k1][$k2]=str_replace(" "," ",$data[$k1][$k2]);
   $data[$k1][$k2]=str_replace("\n","<br>\n",$data[$k1][$k2]);
   }
   }
   else
   {
   $data[$k1]=nl2br(htmlspecialchars($data[$k1]));
   $data[$k1]=str_replace(" "," ",$data[$k1]);
   $data[$k1]=str_replace("\n","<br>\n",$data[$k1]);
   }
  }
  }
  else
  {
  $data=nl2br(htmlspecialchars($data));
  $data=str_replace(" "," ",$data);
  $data=str_replace("\n","<br>\n",$data);
  }
  Return $data;
}
}
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
实现分十页分向前十页向后十页的处理
Oct 09 PHP
PHP初学入门
Nov 19 PHP
PHP 工厂模式使用方法
May 18 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
Jun 06 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
php网站判断用户是否是手机访问的方法
Nov 01 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
PHP实现的激活用户注册验证邮箱功能示例
Jun 06 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
设定php简写功能的方法
Nov 28 PHP
php文件压缩之PHPZip类用法实例
Jun 18 #PHP
浅谈php中include文件变量作用域
Jun 18 #PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 #PHP
php实现只保留mysql中最新1000条记录
Jun 18 #PHP
php使用COPY函数更新配置文件的方法
Jun 18 #PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 #PHP
php实现mysql数据库分表分段备份
Jun 18 #PHP
You might like
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
PHP实现微信对账单处理
2018/10/01 PHP
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
使用webpack和rollup打包组件库的方法
2021/02/25 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
python控制台显示时钟的示例
2014/02/24 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
python中对_init_的理解及实例解析
2019/10/11 Python
Python configparser模块操作代码实例
2020/06/08 Python
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
中医学专业自荐信范文
2014/04/01 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
python基础之爬虫入门
2021/05/10 Python
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js