2

一.编写一个验证器,验证:用户名(User_name),密码(password),邮箱(email),手机号码(mobile)
(1)用户名:6到10个字符,不能为空,必须是字母和数字组合(也可以是汉字)
(2)密码:6到10个字符,不能为空,必须是字母和数字组合
(3)邮箱:必须符合邮箱格式
(4)手机号码:不能为空,不能小于11位字符,不能大于11位字符,必须是数字,必须是可用手机号码

1.创建一个名为Register.php的验证控制器

<?php
    namespace app\validate;

    use think\Validate;

    class Register extends Validate {

        protected $rule=[
            'User_name' => ['require','length'=>'6,10','regex' => '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]+$/'],
            'Password' => ['require','length'=>'6,10','regex' => '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]+$/'],
            'email' => 'email',
            'mobile' => ['require','number','max'=>'11','min'=>'11','mobile']
        ];

        protected $message=[
            'User_name.require'=>'用户名不能为空',
            'User_name.length' => '用户名必须6-10个字符',
            'User_name.regex' => '用户名必须是字母和数字的组合',
            'Password.require' => '密码不能为空',
            'Password.length' => '密码必须6-10个字符',
            'Password.regex' => '密码必须是字母和数字的组合',
            'email' => '邮箱格式错误',
            'mobile.require' => '手机号不能为空',
            'mobile.number'=> '手机号必须是全数字',
            'mobile.max' => '手机号不能超过11位',
            'mobile.min' => '手机号不能小于11位',
            'mobile.mobile' => '不是可用手机号'
        ];
    }

2.接下来创建一个要验证的DemoRegister.php文件

<?php

    namespace app\index\controller;

    use app\validate\Register;
    class DemoRegister{

        public function index(){
            $value = [
                'User_name' =>'123456abcd',
                'Password' =>'12345abcde',
                'email'=>'AJ@qq.com',
                'mobile' => '15866668888'
            ];
            $result = validate(Register::class)->check($value);

            if($result){
                return '数据验证成功';
            }else{
                validate()->getError();
            }
        }
    }

已注销
9 声望0 粉丝