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与MySQL交互使用详解
Oct 09 PHP
WINXP下apache+php4+mysql
Nov 25 PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
php从身份证获取性别和出生年月
Feb 09 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
YII框架页面缓存操作示例
Apr 29 PHP
PHP7数组的底层实现示例
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 HTML代码串截取代码
2008/12/29 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
PHP中each与list用法分析
2016/01/08 PHP
PHP session 会话处理函数
2016/06/06 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
javascript 一些用法小结
2009/09/11 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
JavaScript闭包详解
2015/02/02 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
python调用外部程序的实操步骤
2019/03/04 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
《小草和大树》教学反思
2014/02/16 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript