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中3种生成XML文件方法的速度效率比较
Oct 06 PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 PHP
php处理restful请求的路由类分享
Feb 27 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 PHP
php将html转为图片的实现方法
May 19 PHP
PHP使用两个栈实现队列功能的方法
Jan 15 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 PHP
php成功操作redis cluster集群的实例教程
Jan 13 PHP
laravel 使用auth编写登录的方法
Sep 30 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
Oct 10 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php 高效率写法 推荐
2010/02/21 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
thinkphp缓存技术详解
2014/12/09 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
python实现在sqlite动态创建表的方法
2015/05/08 Python
Python函数式编程
2017/07/20 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
python之信息加密题目详解
2019/06/26 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
Python Django view 两种return的实现方式
2020/03/16 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
保险专业大专生求职信
2013/10/26 职场文书
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
医学院毕业生自荐信
2013/11/08 职场文书
开会迟到检讨书
2014/01/08 职场文书
学子宴答谢词
2014/01/25 职场文书
中秋节活动总结
2014/08/29 职场文书
Python之matplotlib绘制饼图
2022/04/13 Python