• 常用验证正则:用户名、密码、邮箱、手机号、身份证(PHP和JavaScript)


    PHP版本

    <?php
    // 验证用户名是否合法,必须是以字母开头,只能包含字母数字下划线和减号,4到16位
    function checkUserName($username)
    {
        if (preg_match('/^[A-Za-z]{1}[A-Za-z0-9_-]{3,15}$/', $username)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    echo checkUserName('abcde12345-_a');
    
    // 验证密码强度,6-16位,,至少有一个数字,一个大写字母,一个小写字母和一个特殊字符,四个任意组合
    function checkPassword($password)
    {
        if (preg_match('/(?=^.{6,16}$)(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*]).*$/', $password)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    echo checkPassword('CCCc@#1234567890');
    
    // 验证邮箱是否合法,必须有@,前边最少2个字符,字母或数字开头,域名部分最少1位,后缀可以是一级也可以是二级,最少两位
    function checkEmail($email)
    {
        $email = strtolower($email);// 全部转小写(邮箱不区分大小写)
        if (preg_match('/^[a-z0-9]{1}[a-z0-9_-]{1,}@[a-z0-9]{1,}(.[a-z]{2,})*.[a-z]{2,}$/', $email)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    echo checkEmail('abc_def-g@abc.com.cn');
    
    // 验证手机号是否合法
    function checkPhone($phone)
    {
        if (preg_match('/^1[345678]{1}d{9}$/', $phone)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    echo checkPhone('15512345678');
    
    // 验证身份证号是否合法
    // 身份证号:前两位表示地区,所以第一位不可能是0,而第7、8两位是年份的前两位,也不可能是0,最后一位除了10个数字以外还可能是X|x
    function checkIdCard($idcard)
    {
        if (preg_match('/^[1-9]{1}d{5}[1-9]{2}d{9}[Xx0-9]{1}$/', $idcard)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    echo checkIdCard('210801199010012031');

    JavaScript版本

    // 验证用户名是否合法,必须是以字母开头,只能包含字母数字下划线和减号,4到16位
    function checkUserName(username)
    {
        if (/^[A-Za-z]{1}[A-Za-z0-9_-]{3,15}$/.test(username)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    console.log(checkUserName('abcde12345-_a'));
    
    // 验证密码强度,6-16位,,至少有一个数字,一个大写字母,一个小写字母和一个特殊字符,四个任意组合
    function checkPassword(password)
    {
        if (/(?=^.{6,16}$)(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*]).*$/.test(password)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    console.log(checkPassword('CCCc@#1234567890'));
    
    // 验证邮箱是否合法,必须有@,前边最少2个字符,字母或数字开头,域名部分最少1位,后缀可以是一级也可以是二级,最少两位
    function checkEmail(email)
    {
        email = email.toLowerCase();// 全部转小写(邮箱不区分大小写)
        if (/^[a-z0-9]{1}[a-z0-9_-]{1,}@[a-z0-9]{1,}(.[a-z]{2,})*.[a-z]{2,}$/.test(email)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    console.log(checkEmail('abc_def-g@abc.com.cn'));
    
    function checkPhone(phone){ 
        
        if (/^1[34578]d{9}$/.test(phone)) { 
            return 1; 
        } else {
            return 0;
        }
    }
    
    console.log(checkPhone('15512345678'));
    
    // 验证身份证号是否合法
    // 身份证号:前两位表示地区,所以第一位不可能是0,而第7、8两位是年份的前两位,也不可能是0,最后一位除了10个数字以外还可能是X|x
    function checkIdCard(idcard)
    {
        if (/^[1-9]{1}d{5}[1-9]{2}d{9}[Xx0-9]{1}$/.test(idcard)) {
            return 1;
        } else {
            return 0;
        }
    }
    
    console.log(checkIdCard('210801199010012031'));
  • 相关阅读:
    #Markdown 如何绘制 mermaid 复杂 graph
    Solon 1.7.6 发布,轻量级的应用开发框架
    发现一个很好的 Solon 框架试手的教学视频(Solon,轻量级应用开发框架)
    Solon 1.8.0 发布,云原生微服务开发框架
    [源码解析] TensorFlow 分布式之 ParameterServerStrategy V2
    [源码解析] TensorFlow 分布式之 ClusterCoordinator
    服务治理:常用限流算法总结
    服务治理:几种开源限流算法库/应用软件介绍和使用
    碎碎念软件研发02:敏捷之Scrum
    碎碎念软件研发01:敏捷简史和几种软件开发模型
  • 原文地址:https://www.cnblogs.com/sz-xioabai/p/11308948.html
Copyright © 2020-2023  润新知