正则表达式笔记

本文详细介绍了JavaScript中的正则表达式,包括基本使用、预定义和简单类、负向类、范围类、组合类、边界匹配、量词应用以及实际案例,如手机号验证、中文字符识别和座机号码匹配。还涵盖了字符串操作中的正则方法,如替换和匹配。
摘要由CSDN通过智能技术生成

目录

01正则的基本使用

02 正则的五大类的使用

03 正则边界的使用 

04  正则量词的使用

05 正则表达式案例

  06 字符串中关于正则的一些方法


 

01正则的基本使用

        正则分类:

                普通字符+元字符

        创建正则对象

                1.new创建

                var reg=new RegExp(/正则规则/)

                2.字面量创建

                var reg=/正则规则/ 

02 正则的五大类的使用

        1.预定义类

                var reg= /./ ; 匹配任意字符(除了回车和换行)

                var reg=/\d/ ; 匹配数字字符

                var reg=/\D/ ; 匹配的是非数字字符

                var reg=/\s/ ; 空白字符 \r  \n   \t   \f

                var reg=/\S/ ; 匹配非空白字符

                var reg=/\w/ ; 单词字符 数字 大小写字母 下划线

                var reg=/\W/ ;非单词字符

                重点是: \d  \w

        2.简单类

                var reg=/[abc]/; abc其中之一

                var reg=/[ABC]/;ABC其中之一  严格区分大小写

        3.负向类

                var reg=/[^abc]/  除了abc其他所有

        4.范围类

                var reg=/[a-z]/ ; a到z之间小写字母其中之一都可以

        5.组合类

                var reg=/[a-z\d]/   包含中括号中内容之一即可

03 正则边界的使用 

        /^ 表示开头

        $/ 表示结尾

        /^$/ 表示固定匹配

        例:

               1. var reg=/^\d[a-z]/  表示数字开头 从第二个字符开始是a-z之间的任意字符

               2. var reg=/\w$/ 表示以单词字符 数字 大小写字母 下划线 任意一个结尾

                3.var reg=/^[abc]$/ 表示abc只能出现之一

                4. var reg=/^\w\d/   表示长度是2 第一位是单词字符 第二位是数字字符

04  正则量词的使用

        1. 预定义量词

                * 0到任意次

                ? 0或者1次

                + 至少一次

        2.自定义量词

                {n} 恰好是n次

                {n,} 至少n次

                {n,m} n到m次 包含m次

        例:

                var reg=/^[abc]*$/; 表示abc可以出现0次到任意次

                var reg=/^[abc]?$/;

                表示abc只能出现0次或者1次返回ture  出现的次数超过一次就返回false

                var reg=/^[abc]+$/; 表示abc至少出现一次

                 var reg=/^[abc]{3}$/; 表示abc出现的次数恰好是3次

                 var reg=/^[abc]{3,}$/; 表示abc出现的次数至少是3次

                var reg=/^[abc]{3,5}$/;表示abc出现的次数在3到5之间返回true 字符串里只能有abc

05 正则表达式案例

        1.验证手机号

                要求第一位是1 第二位是3-9之间的任意数字 后九位数字任意

                /^1[3-9]\d{9}$/

        2.验证中文 使用unicode编码进行验证

                // [\u4e00-\u9fa5]

        3.匹配座机号

                座机号分为

                        三位区号 010-88889999

                        四位区号0312-7891898

                        正则有|符号 表示多个正则在一起 只要匹配其中之一就可以了

                三位区号的正则

                        /^0[12]\d-\d{8}$/

                四位区号的正则

                         /^0\d{3}-\d{7}$/

                座机号的正则:

                        /^0[12]\d-\d{8}$|^0\d{3}-\d{7}$/

              

  06 字符串中关于正则的一些方法

        g 表示整个字符串查找

        i  表示忽略大小写

        字符串中可以使用正则的方法:

                1.替换:

                str.replace(正则表达式,'新字符串') 表示值替换从头开始查找到的第一个

                str.replaceAll(正则表达式,'新字符串') 表示替换全部

                2.匹配

                str.match(/正则表达式/g) 

                //将正则表达式匹配到的字符串放到伪数组中

                str.matchAll(/\d+[a-z]+/g) //返回迭代器对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值