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实时显示输出
Oct 02 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
php+iframe实现隐藏无刷新上传文件
Feb 10 PHP
PHP读取xml方法介绍
Jan 12 PHP
Symfony页面的基本创建实例详解
Jan 26 PHP
PHP连接操作access数据库实例
Mar 30 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 PHP
php商品对比功能代码分享
Sep 24 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 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
德劲1104的电路分析与改良
2021/03/01 无线电
用PHP+java实现自动新闻滚动窗口
2006/10/09 PHP
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
yii分页组件用法实例分析
2015/12/28 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
javascript测试题练习代码
2012/10/10 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
vue监听键盘事件的相关总结
2021/01/29 Vue.js
python中使用xlrd、xlwt操作excel表格详解
2015/01/29 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
Python列表的深复制和浅复制示例详解
2021/02/12 Python
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
大学社团计划书
2014/05/01 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
反四风对照检查材料
2014/09/22 职场文书
MySQL数据库简介与基本操作
2022/05/30 MySQL