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若干单维数组遍历方法的比较
Sep 20 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
php中函数前加&amp;符号的作用分解
Jul 08 PHP
PHP中array_slice函数用法实例详解
Nov 25 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
php获取远程文件大小
Oct 20 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 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.ini中文版
2006/10/09 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
JavaScript的document对象和window对象详解
2010/12/30 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
基于Vue.js 2.0实现百度搜索框效果
2020/12/28 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
打开电脑上的QQ的python代码
2013/02/10 Python
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
大学生毕业自我评价范文分享
2013/11/11 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
小学五年级学生评语
2014/04/22 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技