首页 >后端开发 >PHP问题 >如何使用PHP正则对表单数据进行验证?(详细步骤)

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

慕斯
慕斯原创
2021-06-10 15:25:442398浏览

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

如何使用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 = &#39;字母数字以及下划线组成&#39;;
    $pwdInfo = &#39;6-13位大小写字母以及数字&#39;;
    $emailInfo = &#39;输入正确的email地址&#39; ;
?>
<!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 = &#39;字母数字以及下划线组成&#39;;
    $pwdInfo = &#39;6-13位大小写字母以及数字&#39;;
    $emailInfo = &#39;输入正确的email地址&#39; ;
    $userPattern =&#39;/^\w+$/S&#39;;
    if(isset($_POST[&#39;name&#39;])){
    if(preg_match($userPattern,$_POST[&#39;name&#39;])){
        $userInfo = &#39;<font color="green">正确</font>&#39;;
    }else{
        $userInfo = &#39;<fort color= "pick">字母数字以及下划线组成</font>&#39;;
    }
     $pwdPattern =&#39;/^[a-zA-Z0-9]{6,13}$/S&#39;;
     if(isset($_POST[&#39;pwd&#39;])){
         if(preg_match($pwdPattern,$_POST[&#39;pwd&#39;])){
     $pwdInfo =&#39;<font color=" green">正确</font>&#39;;
     }else{
        $pwdInfo = &#39;<fort color= "pick">6-13位大小写字母以及数字</font>&#39;;
     }
    }
    $emailPattern = &#39;/^\w+@[0-9a-zA-Z]+(\.[a-zA-Z]{2,5})+$/S&#39;;
   if(isset($_POST[&#39;email&#39;])){
   if (preg_match( $emailPattern,$_POST[&#39;email&#39;])){
   $emailInfo = &#39;<font color=" green">正确</font>&#39; ;
   }else{
   $emailInfo = &#39;<font color="red" >输入正确的email地址</font>&#39;;
}
}
?>

代码结果如下所示;

11.JPG

推荐学习:《PHP视频教程

以上是如何使用PHP正则对表单数据进行验证?(详细步骤)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn