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脚本的10个技巧(7)
Oct 09 PHP
PHP生成静态页
Nov 25 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 PHP
PHP+jquery实时显示网站在线人数的方法
Jan 04 PHP
ThinkPHP安装和设置
Jul 27 PHP
php字符串操作常见问题小结
Oct 11 PHP
PHP数据库处理封装类实例
Dec 24 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 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
多数据表共用一个页的新闻发布
2006/10/09 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
jQuery Ajax 全解析
2009/02/08 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
zTree异步加载展开第一级节点的实现方法
2017/09/05 Javascript
浅谈js闭包理解
2019/03/28 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
Python中列表的一些基本操作知识汇总
2015/05/20 Python
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
方正Java笔试题
2014/07/03 面试题
药物学专业学生的自我评价
2013/10/27 职场文书
家长给孩子的表扬信
2014/01/17 职场文书
学校门卫管理制度
2014/01/30 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
优秀大学生自荐信
2014/06/09 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
公积金具结保证书
2015/05/11 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
Python实现天气查询软件
2021/06/07 Python
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA