如何使用PHP正则对表单数据进行验证?(详细步骤)

上篇文章给大家介绍了《如何使用正则替换的方式实现清除字符串中所有的HTML标签?》,本文继续给大家介绍如何使用PHP正则对表单数据进行验证?

如何使用PHP正则对表单数据进行验证?

首先,我们先布局我们的HTML的表单,紧接着要添加form标签,(注意:一切和用户相关的内容,我们再传输的时候要用post),然后,我们再表单中添加,账号,密码和邮箱,最后再加一个登陆按钮,

以代码演示为例:

<?php 
/*******用户数据验证*********/
?>
<!DOCTYPE html>
<html>
<head>
      <meta charset="UTF-8">
      <title>用户信息验证</title>
</head>
<body>
      <form action="" method=" post">
          账号:
      <input type="text" name="name" value="" /><br/>
          密码:<!--密码一定用type=password
          这里没用的原因是为了让大家看到输入的内容-->
      <input type= "text" name="pwd" value="" /><br/> 
          邮箱:
      <input type= "text" name=" email" value="" /><br/>
      <input type="submit" value="登录" >
 </form>

代码结果如下所示;

9.JPG

运行结果是成功的,但是我们在给的案例中显示,账号需要字母、数字以及下划线组成。密码需要8-16位的大小写与字母数字组成,邮箱需要输入正确的mail的地址,因此,我们在代码中加入需要默认加入的规则,代码演示如下;

<?php 
/*******用户数据验证*********/
    $userInfo = '字母数字以及下划线组成';
    $pwdInfo = '6-13位大小写字母以及数字';
    $emailInfo = '输入正确的email地址' ;
?>
<!DOCTYPE html>
<html>
<head>
      <meta charset="UTF-8">
      <title>用户信息验证</title>
</head>
<body>
      <form action="" method=" post">
          账号:
      <input type="text" name="name" value="" /><?=$userInfo?><br/>
          密码:<!--密码一定用type=password
          这里没用的原因是为了让大家看到输入的内容-->
      <input type= "text" name="pwd" value="" /><?=$pwdInfo?><br/> 
          邮箱:
      <input type= "text" name=" email" value="" /><?=$emailInfo?><br/>
      <input type="submit" value="登录" >
 </form>

代码结果如下所示;

10.JPG

根据代码显示,我们所需要的内容也显示在运行结果中,但我们默认显示搞定后,就要去定义验证规则了,验证用户输出的内容是否否和要求;比如说,我们以用户为例,先定义$userpattern = '/^w+$/S';然后进行判断,加入if条件句,在if语句中,如果没有设置用户则不会进行条件句的判断,或者设置出错也不会进入,以此类推。我们以代码为例:

<?php 
/*******用户数据验证*********/
    $userInfo = '字母数字以及下划线组成';
    $pwdInfo = '6-13位大小写字母以及数字';
    $emailInfo = '输入正确的email地址' ;
    $userPattern ='/^w+$/S';
    if(isset($_POST['name'])){
    if(preg_match($userPattern,$_POST['name'])){
        $userInfo = '<font color="green">正确</font>';
    }else{
        $userInfo = '<fort color= "pick">字母数字以及下划线组成</font>';
    }
     $pwdPattern ='/^[a-zA-Z0-9]{6,13}$/S';
     if(isset($_POST['pwd'])){
         if(preg_match($pwdPattern,$_POST['pwd'])){
     $pwdInfo ='<font color=" green">正确</font>';
     }else{
        $pwdInfo = '<fort color= "pick">6-13位大小写字母以及数字</font>';
     }
    }
    $emailPattern = '/^w+@[0-9a-zA-Z]+(.[a-zA-Z]{2,5})+$/S';
   if(isset($_POST['email'])){
   if (preg_match( $emailPattern,$_POST['email'])){
   $emailInfo = '<font color=" green">正确</font>' ;
   }else{
   $emailInfo = '<font color="red" >输入正确的email地址</font>';
}
}
?>

代码结果如下所示;

11.JPG

推荐学习:《PHP视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 如何使用PHP正则对表单数据进行验证?(详细步骤)