js正则表达式常见用法

什么是正则表达
正则表达式( Regular Expression ,简称regexp )
是一个特定的格式化模式,用于验证各种字符串是否匹配这个特征,进而实现高级的文本查找、替换、截取内容等操作
应用:在项目开发中,手机号码指定位数的隐藏、数据采集、敏感词的过滤以及表单的验证等功能

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //密码 同时包含数字和和字母
    var pwd = "a123456";

    var isPwd = /(\D+\d+)|(\d+\D+)/;

    console.log(isPwd.test(pwd));

    //身份证号
    // 区号1-6  0-9
    //出生年7-10  0-9
    //出生月11-12  0-9  0 1-9  1   0-2
    //出生日13-14   0 1-9    1 0-9  2 0-9  3 0-1
    //15-17   0-9
    //18    0-9 xX


    var id = "411324200001010000";

    var isId = /^[0-9]{6}[0-9]{4}((0[1-9]){1}|(1[0-2]){1})((0[1-9]{1})|(1[0-9]{1})|(2[0-9]{1})|(3[0-1]{1}))[0-9]{3}[0-9xX]{1}$/;

    console.log(isId.test(id));


    //     QQ号
    // 第一位不为零  长度5-15

    var qqNumber="326422409";

    var isqqNumber= /^[1-9]{1}[0-9]{4,14}/;

    console.log(isqqNumber.test(qqNumber));


    //     手机号
    //  第一位为 1  第二位不为0 长度11位
    var phoneNumber="18637712345";

    var isPhoneNumber=/^[1]{1}[1-9]{1}[0-9]{9}/;

    console.log(isPhoneNumber.test(phoneNumber));


    //     邮箱
    //  6~ 18个字符,可使用字母、数字、下划线, 需要以字母开头 不区分大小写 +@+   纯数字或纯字母  最少2位  最多7位 .com /.cn
    // 匹配任意一个字母(大小写) ,数字,下划线
    // {n} 匹配前面的字符n次

    Email="ruohan123@gmail.com"

    var isEmail=/^[a-z]{1}[\w]{5,17}[@]{1}[a-z0-9]{2,7}[.]{1}([com]{1}|[cn]{1})/;

    console.log(isEmail.test(Email))


    //     地址  有中文 数字 横杠
    //  xx省/xx自治区/xx特别行政区 xx市  xx区/xx县     xx镇/xx乡      xx路/xx村   xx号
    //匹配中文字符的正则表达式: [u4e00-u9fa5]
    var address="河南省南阳市宛城区钓鱼台镇孔明路666号";

    var isAddress=/[\u4e00-\u9fa5]{2,}[省自治区特别行政区]{1}[\u4e00-\u9fa5]{2,}[市]{1}[\u4e00-\u9fa5]{1,}[区县]{1}[\u4e00-\u9fa5]{1,}[镇乡]{1}[\u4e00-\u9fa5]{1,}[路村]{1}\d+[号]{1}/;

    console.log(isAddress.test(address));


    //     邮编
    // 第一位不为0 六位
    var postcode="123456";

    var isPostcode=/^[1-9]\d{5}/;

    console.log(isPostcode.test(postcode))
    //     银行卡号
    // 62开头/4开头    16-19位
    var bankCardNumber ="6211111111111111111 "

    var isBankCardNumber=/(^[6]{1}|^[4]{1})[0-9]{15,18}/;

    console.log(isBankCardNumber.test(bankCardNumber));
    //     学号
    //  10位 0609 开头   19年份   08班级   45 最多45人
     var studentId= "0609190845"

    var isStudentId=/^[0609]{4}((0[0-9])|(1[0-9])|(2[0-9]))[0-9]{1}[1-9]{1}[0-4]{1}[0-5]{1}/;

     console.log(isStudentId.test(studentId))


    //     车牌号
    //  汉字 大写字母 点    5位数字字母

    var carNumber="豫R·1234A"

    var isCarNumber=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领]{1}[A-Z]{1}·[A-Z0-9]{5}/;

    console.log(isCarNumber.test(carNumber));




    //     快递单号
    //最少八位  最多13位
    var expressNumber="12345a-123456-123"

    var isExpressNumber=/[0-9a-z-]{8,13}/i;

    console.log(isExpressNumber.test(expressNumber));


    //     验证码  数字和字母 6位
    var verifyNumber ="a12345"

    var isVerifyNumber=/[a-z0-9]{6}/i;

    console.log(isVerifyNumber.test(verifyNumber));


    //     ISBN号
    //  978 979开头
    var ISBN="978-7-115-18609-6";

    var isISBN=/^(97[8]|97[9])-[0-9]-[0-9]{3}-[0-9]{5}-[0-9]$/;

    console.log(isISBN.test(ISBN));
    //     网址  .: :// /
//http/https  ://   字母 .  数字/

    var website="https://www.ruohan.org";

    var isWebsit=/([https://]{1})|([http://]{1})www.[a-z0-9].[a-z0-9]/i;

    console.log(isWebsit.test(website));

    //     IPv4地址
    //  0-255.0-255.0-255.0-255

    var IPv4="123.123.123.123";

    var isIPv4=/0|[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{1}[0-9]{1}.0|[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{1}[0-9]{1}.0|[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{1}[0-9]{1}.0|[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{1}[0-9]{1}/;

    console.log(isIPv4.test(isIPv4));


    //     IPv6地址
    //32 位  数字字母
    var IPv6="CDCD:910A:2222:5498:8475:1111:3900:2020";

    var isIPv6=/([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}){1}/;

   console.log(isIPv6.test(IPv6));
    //     出生年月日   1999年01月01日
    var birthday="1999年01月01日"

    var isBirthday=/[0-9]{4}年((0[1-9]){1}|(1[0-2]){1})月((0[1-9]{1})|(1[0-9]{1})|(2[0-9]{1})|(3[0-1]{1}))日/;

    console.log(isBirthday.test(birthday));

    //     姓名   >=2  中文·中文
    var name="阿尔伯特·爱因斯坦";

    var isName=/([\u4e00-\u9fa5]·[\u4e00-\u9fa5])|([\u4e00-\u9fa5]{2,})/;

    console.log(isName.test(name));

</script>
</body>
</html>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值