表单正则验证及文件上传验证功能

表单正则验证主要是用来对表单提交信息的过滤,防止sql注入(比如登录界面),上传的文件也需要进行文件名后缀和大小进行验证,下面是一个简单的表单验证

 header("Content-type:text/html;charset=utf-8");
 $user = isset($_POST[‘user‘])?$_POST[‘user‘]:null;
 $password = isset($_POST[‘password‘])?$_POST[‘password‘]:null;
 $arr = array(‘png‘,‘gif‘,‘jpg‘);
 $uploads = move_uploaded_file($_FILES[‘face‘][‘tmp_name‘],‘uploads/‘.$_FILES[‘face‘][‘name‘]);
 $file = ‘uploads/‘.$_FILES[‘face‘][‘name‘];
 if($uploads){
   echo ‘上传成功‘;
 }
 if(!preg_match("/^[\x{4e00}-\x{9fa5}]+$/u", $user)){
   //正则检查用户名是否为全汉字组成
   echo "用户名只能由纯汉字组成!";
   die;
 }else if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$password)){
   //正则检查密码是否含有非法字符
   echo ‘密码不能包含特殊字符!‘;
   die;
 }else if(!in_array(pathinfo($file, PATHINFO_EXTENSION),$arr)){
   echo "文件格式不正确";
   die;
 }else{
   echo ‘允许注册!‘;
 } 

附常用php正则表达式:

匹配中国邮政编码:[1-9]\d{5}(?!\d)

匹配身份证:\d{15}|\d{18}

匹配ip地址:\d+\.\d+\.\d+\.\d+

匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

函数:

preg_match():第一个参数为正则规则,第二个为被验证的字符串,返回布尔值

preg_replace ():对一个字符串中附和正则规则的字符进行字符替换

以上所述是小编给大家介绍的表单正则验证及文件上传验证功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 常用正则表达式范例 方便表单验证

    复制代码 代码如下: 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^\d+

  • java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)

    java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等 复制代码 代码如下: package util; import java.util.regex.Matcher;import java.util.regex.Pattern; /** * 使用正则表达式进行表单验证 *  */ public class RegexValidateUtil {    static boolean flag = false;    static String regex = ""

  • 详解正则表达式表单验证实例

    先看看效果图: 首先给大家解释一些符号相关的意义 * 匹配前面的子表达式零次或多次: ^ 匹配输入字符串的开始位置:$匹配输入字符串的结束位置 1. /^$/ 这个是个通用的格式. 2. 里面输入需要实现的功能. \d 匹配一个数字字符,等价于[0-9] + 匹配前面的子表达式一次或多次: ?匹配前面的子表达式零次或一次: 下面通过一段代码给大家分析表单验证正则表达式,具体代码如下: <!DOCTYPE html> <html lang="en"> <he

  • php使用ereg验证文件上传的方法

    本文实例讲述了php使用ereg验证文件上传的方法.分享给大家供大家参考.具体分析如下: ereg格式如下: 复制代码 代码如下: ereg(正规表达式,字符串,[匹配部分数组名]); 这里利用了ereg来验证用户上传的文件类型与文件名是否是符合文件命名规则,实例代码如下: 复制代码 代码如下: if( !is_uploaded_file($upfile) )  {   echo("你什么都没有上传哦!");   exit();  }  else  {   if( !ereg(&quo

  • 通过正则表达式实现表单验证是否为中文

    JavaScript表单验证是否为中文,判断一个输入量是否为中文,通过正则表达式实现. 复制代码 代码如下: // 检查是否为中文 function isChn(str){ var reg = /^[u4E00-u9FA5]+$/; if(!reg.test(str)){ return false; } return true; }

  • ThinkPHP实现带验证码的文件上传功能实例

    本文实例讲述了ThinkPHP实现带验证码的文件上传功能.分享给大家供大家参考.具体实现方法如下: ThinkPHP上传文件非常的简单我们只要调用一个文件上传类UploadFile就可以快速的实现上传功能了,下面我来给大家整理了一个上传文件时需要验证功能的例子,希望文章对大家会带来帮助. 在模板中我们只需要调用就可以了 复制代码 代码如下: <html> <head> <title>验证码</title> </head> <body>

  • JavaScript常用的正则表达式表单验证代码

    常用的正则表达式如下: 复制代码 代码如下: "^-?[1-9]\\d*$", //整数 "^[1-9]\\d*$", //正整数 "^-[1-9]\\d*$", //负整数 "^([+-]?)\\d*\\.?\\d+$", //数字 "^[1-9]\\d*|0$", //正数(正整数 + 0) "^-[1-9]\\d*|0$", //负数(负整数 + 0) "^([+-]?)

  • 表单验证正则表达式实例代码详解

    表单验证正则表达式具体内容如下所示: 首先给大家解释一些符号相关的意义 1.  /^$/ 这个是个通用的格式. ^ 匹配输入字符串的开始位置:$匹配输入字符串的结束位置 2. 里面输入需要实现的功能. * 匹配前面的子表达式零次或多次:        + 匹配前面的子表达式一次或多次:        ?匹配前面的子表达式零次或一次:        \d  匹配一个数字字符,等价于[0-9] 下面通过一段代码给大家分析表单验证正则表达式,具体代码如下: <!DOCTYPE html> <h

  • js 常用正则表达式表单验证代码

    正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证.替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字.根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字. 基本语法 在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表

  • JavaScript 使用正则表达式进行表单验证的示例代码

    JavaScript 表单验证正则表达式大全利用正则表达式判断是否是0-9的阿拉伯数字 复制代码 代码如下: function regIsDigit(fData) { var reg = new RegExp("^[0-9]$"); return (reg.test(fData)); } 利用这则表达式获取字符串的长度 复制代码 代码如下: function regDataLength(fData) { var valLength = fData.length; var reg = n

  • JavaScript 表单验证正则表达式大全[推荐]

    具体和函数结合的使用方法,还请查看下篇文章 JavaScript 使用正则表达式进行表单验证的示例代码 复制代码 代码如下: 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?

随机推荐