WebAPIs(正则)

正则表达式:

 正则表达式:是用于匹配字符串中字符组合的模式

   正则表达式作用:

  • 表单验证(匹配)
  • 过滤敏感词(替换)
  • 字符串中提取我们想要的部分(提取)

定义正则表达式语法:

const 变量名 =/表达式/

/ / 是正则表达式字面量

const reg = /前端/

正则表达式的使用步骤:

  • 定义正则表达式规则
  • 检测查找是否匹配
  • text()查看正则表达式与指定字符是否匹配  
    正则规则.test(被检测的字符串)

    正则表达式与指定的字符串匹配,返回true,否则false

检索(查找):

规则.exec(被检测的字符串)

   匹配成功就返回一个数组,否则null 


元字符:

  • 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)

 ^ 和 $ 在一起,表示必须是精确匹配

  const str = '二哈'
        // ^以xxx开头
        // const reg = /^二哈/
        // $以xxx结尾
        // const reg = /二哈$/
        // ^和$一起使用表示精确匹配
        // const reg = /^二哈$/

        console.log(reg.test(str));
  • 量词(表示重复次数)

   // {n}前面的模式重复n次
        console.log(/1{2}/.test(11))
        //{n,}大于或者等于重复n次
        console.log(/1{2,}/.test(11))
        // {n,m} 重复的次数在n和m之间 大于等于n 小于等于m
        console.log(/1{3,8}/.test(111111));
        // ^以什么开头  以1开头  2重复2次或者2次以上
        console.log(/^12{2}/.test(1222))
        // 被()包住的是一个整体
        console.log(/^(12){2}/.test(1212));

  // * 重复大于0次或者等于0次
        console.log(/^1*/.test(''))   //true
        console.log(/^1*/.test(111111))  //true
        // + 只是有一次或者更多
        console.log(/^1*/.test(''))     //flase
        console.log(/^1*/.test(1))       //true
        console.log(/^1*/.test(11111))  //true

 逗号左右两侧不能出现空格

  • 字符类(\d表示0~9)

 

       [ ] 里面加上 - 连字符

        [a-z] 表示 a 到 z 26个英文字母都可以

       [a-zA-Z] 表示大小写都可以

       [0-9] 表示 0~9 的数字都可以

       [ ] 里面加上 ^ 取反符号

      [abc] 匹配abc其中的任何单个字符

      [a-z] 匹配26个小写英文字母其中的任何单个字符

      [^a-z] 匹配除了26个小写英文字母之外的其他任何 单个字符

     预定义:


修饰符: 

语法 /表达式 /修饰符

 i 是单词 ignore 的缩写,正则匹配时字母不区分大小

 g 是单词 global 的缩写,匹配所有满足正则表达式的结果(全局)

替换 :replace 替换

字符串.reolace(/正则表达式/,'替换的文本')

  const str = 'hello美女,hello帅哥,Hello小可爱'
        // 字符串.replace需要替换的字符|正则表达式,替换成什么字符 返回值替换后的字符串
        // 定义正则
        // global  全局的g
        // ignore 忽略i
        const reg = /hello/gi
        const zfc = str.replace(reg, '你好')
        console.log(zfc);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值