常用表单验证方法
时间:2019-10-25
本文章向大家介绍常用表单验证方法,主要包括常用表单验证方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
验证是否为指定长度的字母/数字组合
/**
* 验证是否为指定长度的字母/数字组合
*
* @param int $minLen 最小长度
* @param int $maxLen 最大长度
* @param string $str 要验证的字符串
* @return bool
*/
function verify_num_word_len($minLen, $maxLen, $str)
{
Return (preg_match("/^[a-zA-Z0-9]{" . $minLen . "," . $maxLen . "}$/", $str)) ? true : false;
}
验证是否为指定长度数字
/**
* 验证是否为指定长度数字
*
* @param int $minLen 最小长度
* @param int $maxLen 最大长度
* @param string $str 要验证的数字
* @return bool
*/
function verify_num_len($minLen, $maxLen, $str)
{
return (preg_match("/^[0-9]{" . $minLen . "," . $maxLen . "}$/i", $str)) ? true : false;
}
验证是否为指定长度汉字
/**
* 验证是否为指定长度汉字
*
* @param int $minLen 最小长度
* @param int $maxLen 最大长度
* @param string $str 要验证的汉字
* @return bool
*/
function verify_chinese_len($minLen, $maxLen, $str)
{
//
return (preg_match("/^([\x81-\xfe][\x40-\xfe]){" . $minLen . "," . $maxLen . "}$/", $str)) ? true : false;
}
验证身份证号码
/**
* 验证身份证号码
*
* @param string $str 身份证
* @return bool
*/
function verify_identity($str)
{
return (preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/', $str)) ? true : false;
}
验证邮件地址
/**
* 验证邮件地址
*
* @param string $str 邮箱
* @return bool
*/
function verify_email($str)
{
return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/', $str)) ? true : false;
}
验证电话号码
/**
* 验证电话号码
*
* @param string $str 电话号码
* @return bool
*/
function verify_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;
}
验证邮编
/**
* 验证邮编
*
* @param string $str 邮编
* @return bool
*/
function verify_zip($str)
{
return (preg_match("/^[1-9]\d{5}$/", $str)) ? true : false;
}
验证url地址
/**
* 验证url地址
*
* @param string $str url
* @return bool
*/
function verify_url($str)
{
return (preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/", $str)) ? true : false;
}
数据入库 转义 特殊字符 传入值可为字符串 或 一维数组
/**
* 数据入库 转义 特殊字符 传入值可为字符串 或 一维数组
*
* @param array|string $data 数据
* @return array|string
*/
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;
}
数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组
/**
* 数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组
*
* @param array|string $data 数据
* @return array|string
*/
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(),表单内容无须此还原
*
* @param array|string $data 数据
* @return array
*/
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;
}
原文地址:https://www.cnblogs.com/fuqian/p/11737517.html
- sqlldr加载性能问题的排查 (r2第2天)
- sqlplus无法启动的问题及解决(3) (25天)
- sqlplus无法启动的问题及解决(2) (25天)
- 10g升级至11g exp的问题解决(23天)
- redo日志文件学习(22天)
- 数据库文件的迁移
- excel文件内容导入数据库的问题及解决(20天)
- 10g,11g数据泵的导入问题及解决(19天)
- ORACLE 11g导入9i dump的问题及解决
- 服务器增加内存后无法重启数据库的问题及解决 (36天)
- 分区表放入keep pool,recycle pool的问题及解析(34天)
- 临时表空间故障处理 (33天)
- 关于物化视图疑问(32天)
- ORACLE 10g 升级 11g问题汇总(31天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SpringMVC传递参数乱码解决,web.xml中配置编码过滤器
- SpringMVC中传值有些值为null使用@RequestParam(“name“)解决
- 9.30面试:AOP+事务+JDK动态代理与cglib区别+Spring的aop如何切换底层创建代理对象的方式
- R语言实现基因组的可视化
- Linux实用命令大全(附思维导图)
- 二叉搜索树与python中self参数理解
- 需要了解的Python编码解码知识
- 程序员必备技能之markdown写作
- Python列表操作最全面总结
- Python 0基础开发游戏:打地鼠(详细教程)VS code版本
- Python经典编程题:字符串替换
- Python字典操作总结
- 纯代码系列:Python实现验证码图片(PIL库经典用法用法,爬虫12306思路)
- Python正则表达式快速学习
- 如何上传项目到GitHub