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('/^\w+@+\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('自我介绍不合法'); } //继续我们的操作

如下是表单效果

猜你喜欢

转载自www.cnblogs.com/hopelooking/p/9180589.html
今日推荐