php正则实现表单验证

Posted hopelooking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则实现表单验证相关的知识,希望对你有一定的参考价值。

<?php
/*
    preg_grep函数只会去做匹配的操作,不做替换
    preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。
    preg_match_all() 函数用于进行正则表达式全局匹配,成功返回整个模式匹配的次数(可能为零),如果出错返回 FALSE 。

*/

$username = $_POST[‘username‘];
$pwd = $_POST[‘pwd‘];
$pwd_r = $_POST[‘pwd_r‘];
$sex = $_POST[‘sex‘];
$email = $_POST[‘email‘];
$city = $_POST[‘city‘];
$phone = $_POST[‘phone‘];
$tel = $_POST[‘tel‘];
$card = $_POST[‘card‘];
$qq = $_POST[‘qq‘];
$desc = $_POST[‘desc‘];

if(preg_match(‘/^[a-zA-Z]w{4,9}$/‘,$username) == 0){
    die(‘用户名不合法‘);
}

if(preg_match(‘/^w{6,}$/‘, $pwd) == 0){
    die(‘密码不合法‘);
}

if($pwd_r !== $pwd){
    die(‘密码不一致‘);
}

if($sex==null){
    die(‘必选一项性别‘);
}

if(preg_match(‘/^[email protected]+w{2,4}(.)(?:com|cn|net)$/‘, $email) == 0){
    die(‘邮箱不合法‘);
}

if($city == null){
    die(‘城市不合法‘);
}

if(preg_match(‘/^1(?:5|3|8)d{9}$/‘, $phone) == 0){
    die(‘手机号不合法‘);
}

if(preg_match(‘/^d{3}(-)d{8}$/‘, $tel) == 0){
    die(‘座机号不合法‘);
}

if(preg_match(‘/(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/‘,$card) == 0){
    die(‘身份证号码不合法‘);
}

if(preg_match(‘/^d{8,11}$/‘, $qq) == 0){
    die(‘qq不合法‘);
}
//中文
if(preg_match(‘/^[x{4e00}-x{9fa5}]{1,20}+$/u‘, $desc) == 0){ die(‘自我介绍不合法‘); } //继续我们的操作

 

如下是表单效果

技术分享图片

 


以上是关于php正则实现表单验证的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式实现表单的验证(代码)

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

Ajax和PHP正则表达式验证表单及验证码

JavaScript表单通过正则表达式验证电话号码

php表单 - 验证邮件和URL

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