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 相关文章推荐
提升PHP执行速度全攻略(上)
Oct 09 PHP
PHP中文件上传的一个问题
Sep 04 PHP
php自动加载autoload机制示例分享
Feb 20 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
浅析get与post的一些特殊情况
Jul 28 PHP
php eval函数一句话木马代码
May 21 PHP
PHP单例模式详细介绍
Jul 01 PHP
php图像验证码生成代码
Jun 08 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
提高Laravel应用性能方法详解
Jun 24 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 一个比较完善的简单文件上传
2010/03/25 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
csdn 批量接受好友邀请
2009/02/19 Javascript
JavaScript Eval 函数使用
2010/03/23 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
Django models文件模型变更错误解决
2020/05/11 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
追悼会子女答谢词
2014/01/28 职场文书
事业单位竞聘上岗实施方案
2014/03/28 职场文书
2015年推普周活动总结
2015/03/27 职场文书
投标单位介绍信
2015/05/05 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
文化大革命观后感
2015/06/17 职场文书
《打电话》教学反思
2016/02/22 职场文书
python实现局部图像放大
2021/11/17 Python
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang