通过PHP正则验证form表单提交的数据

2025-10-26 02:39:45

1、示例:先写一个简单的表单。

<!doctype html>

<html>

<head>

<meta charset="UTF-8" />

<title>Document</title>

</head>

<body>

<h1>注册页面</h1>

<form action="doAction.php" method="post">

<table border='1' cellpadding='0' cellspacing='0' bgcolor='#ABCDEF' width='80%'>

<tr>

<td>用户名</td>

<td><input type="text" name="username" id="" placeholder='请输入合法用户名' />用户名由数字、字母、下划线组成</td>    //用户名的规则

</tr>

<tr>

<td>密码</td>

<td><input type="password" name="password" id="" placeholder='请输入密码' />由数字、字母组成</td>    //密码的规则

</tr>

<tr>

<td>邮箱</td>

<td><input type="email" name="email" id="" placeholder='请输入合法邮箱' />合法邮箱</td>

</tr>

<tr>

      <td>年龄</td>

      <td>

       <input type="number" name="age" id="" placeholder='请输入合法年龄' />年龄必须为正整数   //年龄的规则

      </td>

</tr>

<tr>

<td>个人博客</td>

<td><input type="url" name="url" id="" placeholder='请输入合法URL地址' />类似http://geblog.com</td>   //验证个人博客的url

</tr>

<tr>

<td colspan='2'><input type="submit" value="注册" /></td>

</tr>

</table>

</form> 

</body>

</html>

2、写一个接收页面进行一个处理,校验用户名。

<?php

header('content-type:text/html;charset=utf-8');

$username=$_POST['username'];

$password=$_POST['password'];

$email=$_POST['email'];

$age=$_POST['age'];

$url=$_POST['url'];

//验证用户名,首字母只能是字母

if(!preg_match('#^[a-zA-Z]\w+$#',$username)){

    die('用户名不符合规范');

}

echo '注册成功';

3、结果,输入字母开头的。

通过PHP正则验证form表单提交的数据

4、输入数字开头的。

通过PHP正则验证form表单提交的数据

5、输入中文。

通过PHP正则验证form表单提交的数据

6、校验密码

<?php

header('content-type:text/html;charset=utf-8');

$username=$_POST['username'];

$password=$_POST['password'];

$email=$_POST['email'];

$age=$_POST['age'];

$url=$_POST['url'];

//校验密码,密码长度为8~16

if(!preg_match('#^\w{8,16}$#',$password)){

    die('密码不符合规范');

}

echo '注册成功';

7、结果,写了一个长度不符合的。

通过PHP正则验证form表单提交的数据

8、写一个符合的。

通过PHP正则验证form表单提交的数据

9、如果我写一个特殊字符。

通过PHP正则验证form表单提交的数据

10、校验邮箱。

<?php

header('content-type:text/html;charset=utf-8');

$username=$_POST['username'];

$password=$_POST['password'];

$email=$_POST['email'];

$age=$_POST['age'];

$url=$_POST['url'];

//验证邮箱

if(!preg_match('#^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}$#i',$email)){

    die('邮箱不符合规范');

}

echo '注册成功';

11、结果,写一个不合法的email。

通过PHP正则验证form表单提交的数据

12、写一个合法的email。

通过PHP正则验证form表单提交的数据

13、校验年龄

<?php

header('content-type:text/html;charset=utf-8');

$username=$_POST['username'];

$password=$_POST['password'];

$email=$_POST['email'];

$age=$_POST['age'];

$url=$_POST['url'];

///验证年龄

if(!preg_match('#^[1-9]\d*$#',$age)){

    die('年龄不符合规范');

}

echo '注册成功';

校验URL

<?php

header('content-type:text/html;charset=utf-8');

$username=$_POST['username'];

$password=$_POST['password'];

$email=$_POST['email'];

$age=$_POST['age'];

$url=$_POST['url'];

//验证URL

if(!preg_match('#^[a-zA-z]+://(\w+(-\w+)*)(\.(?:\w+(-\w+)*))*(\?\S*)?$#i',$url)){

    die('URL不符合规范');

}

echo '注册成功';

14、注册成功,我们分别对URL、年龄、邮箱、用户名、密码,进行了校验,可以校验我们用户填写的数据是否符合我们的规范。当然,在我们其他方式通过不了的时候,我们再使用正则表达式,能用其他方式尽量使用其他方式处理。像校验这样的数据,我们可以用php提供的filter函数库,就可以使用这些常用的校验。

结果:

通过PHP正则验证form表单提交的数据

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢