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 相关文章推荐
15个小时----从修改程序到自己些程序
Oct 09 PHP
php编写一个简单的路由类
Apr 13 PHP
php 定义404页面的实现代码
Nov 19 PHP
PHP数组相关函数汇总
Mar 24 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
smarty学习笔记之常见代码段用法总结
Mar 19 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
php中str_pad()函数用法分析
Mar 28 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
php实现的表单验证类完整示例
Aug 13 PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 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的access操作类
2008/04/09 PHP
PHP执行zip与rar解压缩方法实现代码
2010/12/05 PHP
PHP session会话的安全性分析
2011/09/08 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
PHP之预定义接口详解
2015/07/29 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
js实现点击烟花特效
2020/10/14 Javascript
python多线程扫描端口示例
2014/01/16 Python
python保存字符串到文件的方法
2015/07/01 Python
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
科学发展观活动总结
2014/08/28 职场文书
高中同学会致辞
2015/08/01 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android