正则表达式的使用

1,什么是正则表达式

 检测字符串的一种规则,多用于表单的校验

2,如何创建正则表达式?

 a ,字面量   :/正则表达式/标志位

  b,构造函数:new RegExp('正则表达式','标志位‘)

3,正则表达式的方法

 a,正则表达式对象.test(字符串) 检测字符串中是否包含正则表达式的内容,返回布尔值

 b,正则表达式对象.exec(字符串) : 返回一个数组,没有匹配,返回null

4,字符串的方法

 a,字符串对象.match(正则表达式) :返回一个数组,没有匹配,返回null

 b,字符串对象.replace(旧串,新串) : 替换

 c,字符串对象.search(正则) : 类似于indexOf()

5,标志位

 g: 全局匹配

 i: 不分大小写

6,元字符 口诀(三三二,三个一)

 三  { }  [ ]  ( )

        { } :表示 {}前的一个或一组字符连续出现的次数。

        { m} :表示{}前的一个或一组字符连续出现m次

var rg = /^do{3}$/i
var str = 'dooo'
console.log(rg.test(str))

        {m,}:表示{}前的一个或一组字符连续出现最少m次

    var rg = /^do{3,}$/i
    var str = 'dooooooooo'
    console.log(rg.test(str))

 

        {m,n}:表示{}前的一个或一组字符连续出现最少m次,最多n次

var rg = /^do{3,5}$/i
var str = 'doooo'
console.log(rg.test(str))

[ ] :表示范围 

    var rg = /^[abc]{3,5}$/i
    var str = 'abcb'
    console.log(rg.test(str))

    var re = /^[a-zA-Z0-9]{3,5}$/;
    var str = "3wa";
    console.log(re.test(str));
    
    var re = /^[\u4e00-\u9fa5]{3,5}$/;
    var str = "张三丰";
    console.log(re.test(str));

():表示组

    var rg = /^(do){3,5}$/i
    var str = 'dodododo'
    console.log(rg.test(str))

三:*  +  ?

* :表示*前的一个或一组字符连续0至无线次 相当于{0,}

    var rg = /^(do)*$/i
    var str = 'dodododo'
    console.log(rg.test(str))

+ :表示+前的一个或一组字符连续出现1至无限次  相当于{1,}

    var rg = /^(do)+$/i
    var str = 'dodododo'
    console.log(rg.test(str))

?:表示?前的一个或一组字符出现0至1次 相当于{0,1}

    var rg = /^(do)?$/i
    var str = 'do'
    console.log(rg.test(str))

二  ^  $

^ :1. 写在正则表达式的开头,表示定头,限制开头字符

    2. 写在[]中开头部分,表示取反   [^0-9]

$ : 表示定尾,限制结尾字符

三个一  : 。 |           \

. :表示可以模糊匹配任意一个字符

    var rg = /^.o.$/
   //注意字符串do后面只能跟一个空字符串
   var str = 'do '
   console.log(rg.test(str))

|:表示或者

   var rg = /^(男|女)$/
   var str = '男'
   console.log(rg.test(str))

\:表示转义

   var rg = /^\.[a-z]{6}$/
   var str = '.ilovey'
   console.log(rg.test(str))    

\d:表示数字   [0-9]

\D:表示非数字  [^0-9]

\s :表示空白

\S:表示非空白

\w:表示字母数字下划线 [a-zA-Z0-9_]

\W:表示非字母数字下划线 [^a-zA-Z0-9_]

\b:表示单词边界

           var re = /^\D{6}$/;
		   var str = ".jsyyt";
		   console.log(re.test(str));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值