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

396 2020/06/18 艾维畅想网

日常开发中,常常会用到一些简单常用的正则表达式,用于判断一些常见的情况

下边,就列出五种(验证用户名,密码强度,邮箱格式,手机号格式和身份证格式)常见的情况

分成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'));


本文转载原地址:https://www.cnblogs.com/leafinwind/p/10301521.html

分享到
  • 微信好友
  • QQ好友
  • QQ空间
  • 腾讯微博
  • 新浪微博
  • 人人网
成都艾维畅想网络科技有限公司
地址:成都市双流区华阳镇西寺路石化大厦酒店附近100米
联系人:满经理(成都/北京) 沈经理(广州)
电话:199-3875-5567
QQ:845583755(成都/北京) 578551723(广州)
邮箱:845583755@qq.com
  • 微信公众号
  • 手机版
  • 微信小程序

——需求定制——

您的姓名
联系电话
需求
热门标签: 品牌网站建设 | 购物商城建设 | 微信公众号 | 微信小程序 | APP开发 | 响应式开发 北京网站建设 | 成都网站建设 | 广州网站建设 | 网站推广优化 | 网站维护 | 服务器环境搭建 LOGO设计 | 宣传册设计 | 产品包装设计 | 名片设计 | 海报设计 | 广告设计
Copyright © 2011-2020 艾维畅想网 All Right Reserved.
ICP备案: 蜀ICP备20018253号-1
川公网安备 51010402000995号 川公网安备 51010402000995号

在线
客服

客服
热线

199-3875-5567
7*24小时客服服务热线

新浪
微博

微信
咨询

微信咨询

关注
微信

关注官方微信公众号
顶部