正则表达式(知道表示的什么意思)

工具=》FeHelper - AwesomeWEB前端助手:FeHelper,浏览器插件,包含一些前端实用的工具,如JSON格式化,JSON对比,信息编解码,代码美化,代码压缩,二维码生成,二维码解码,图片Base64转换,Markdown,随机密码生成器,正则表达式,时间戳转换,便签笔记,进制转换,贷款计算器等https://www.baidufe.com/fehelper/index/index.html

1.初次demo

// 1. 利用RegExp对象来创建正则表达式(麻烦)

var regexp = new RegExp(/123/)

console.log(regexp);

 // 2. 利用字面量来创建正则表达式 ,正则表达式不需要引号

var rg = /123/ //包含123就为真

  // 3. test() 用来检测正字表达式是否符合规范

console.log(rg.test(123))

console.log(rg.test('1'))

2.边界符 

     边界符-》用来提示字符所处的位置,主要有两个字符

边界符说明
^以谁开始
$以谁结束

     如果^和$在一起表示精确定位

        var rg1 = /^abc/ //以abc开头就为真
        console.log(rg1.test('abcccc'))
        console.log(rg1.test('aabc'))
        console.log('-----------------------------')
        var rg2 = /^abc$/ //必须是字符串abc
        console.log(rg2.test('abc'))
        console.log(rg2.test('aabc'))
        console.log('-----------------------------')

 3.字符类

字符类:[] 表示有一系列字符可供选择, 只要匹配其中一个就可以了

如果中括号里面有 ^ 表示取反不包含这些

字符类说明
[abc]

只要包含其中一个就可以

[a-z]-  表示范围  字母a到字母z
       // 字符类:[] 表示有一系列字符可供选择, 只要匹配其中一个就可以了
        var rg = /[abc]/ //只要包含a或者b或者c 都返回true
        console.log(rg.test('andy')); //true
        console.log(rg.test('rndy')); //false
        console.log('------------------------')
        var rg1 = /^[abc]$/ //只有a或者b或者c 都返回true
        console.log(rg1.test('andy')); //false
        console.log(rg1.test('rndy')); //false
        console.log(rg1.test('a')); //true
        // 字符类:[-] 表示有字符串可以选择范围
        var rg2 = /^[a-z]$/ //a-z其中一个字母
        console.log(rg2.test('a')) //true
        console.log(rg2.test('A')) //false
        // 字符组合
        var rg3 = /^[a-zA-Z0-9_-]$/
        // 如果中括号里面有 ^ 表示取反不包含这些
        var rg4 = /^[^a-zA-Z0-9_-]$/
        console.log(rg4.test('%'))
        console.log(rg4.test('a'))

4.量词符

量词符用来设定某个模式出现的次数

量词说明(单位次)
*>=0
+>=1
?1||0
{n}=n
{n,}》=n
{n,m} 中间不要有空格n<=字符<=m
<script>
        // 量词符: 用来设定某个模式出现的次数(简单来理解就是字符重复的次数)
        // var reg = /^a$/

        // * 相当于 >= 0 可以出现0次或者很多次
        // var reg = /^a*$/
        // console.log(reg.test('')); //true
        // console.log(reg.test('a')); //true
        // console.log(reg.test('aaaa')); //true

        // +相当于 >= 1 可以出现1次或者很多次
        // var reg = /^a+$/
        // console.log(reg.test('')); //false
        // console.log(reg.test('a')); //true
        // console.log(reg.test('aaaa')); //true

        // ?相当于1 || 0
        // var reg = /^a?$/
        // console.log(reg.test('')); //true
        // console.log(reg.test('a')); //true
        // console.log(reg.test('aaaa')); //false

        // {3}  重复3次
        // var reg = /^a{3}$/
        // console.log(reg.test('')); //false
        // console.log(reg.test('a')); //false
        // console.log(reg.test('aaa')); //true


        // {3,}  大于等于3次
        // var reg = /^a{3,}$/
        // console.log(reg.test('')); //false
        // console.log(reg.test('aaaa')); //true
        // console.log(reg.test('aaa')); //true

        // {3,5}  大于等于3次 小于等于5
        var reg = /^a{3,5}$/
        console.log(reg.test('aaaaaaa')); //false
        console.log(reg.test('aaaa')); //true
        console.log(reg.test('aaa')); //true
    </script>

5.括号的总结

{大括号}----------量词

[中括号]-----------多选一

()-----------------优先级

eg:

/^abc{3}$/================表示a重复了3次,abccc

/^(abc){3}$/================表示abc重复了3次,abcabcabc

6.预定义类

(指的是某些常见模式的简写方式)

预定义说明
\d匹配0-9之间的任一数字,相当于[0-9]
\D匹配0-9以外的字符,相当于[^0-9]
\w匹配任意的字母、数字、下划线,相当于[A-Za-z0-9_]
\W除所有的字母、数字、下划线以外的字符,相当于[^A-Za-z0-9_]
\s匹配空格(换行,制表等等),相当于[\t\r\n\v\f]
\S匹配非空格字符,相当于[^\t\r\n\v\f]

7.正则表达式替换(敏感词汇的替换) 

replace(//,'***') -------------------参数一:原文     参数二:替换为

(默认情况下,仅仅替换原文出现的第一个内容)

配置说明
g全局配置,只要出现就全部替换
i忽略大小写配置
gi全局配置+忽略大小写

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <textarea name="" id="" cols="30" rows="10"></textarea>
    <button>提交</button>
    <div></div>
    <script>
        var text = document.querySelector('textarea')
        var btn = document.querySelector('button')
        var div = document.querySelector('div')
        btn.addEventListener('click', () => {
            var str = text.value.replace(/激情/g, '**')
            div.innerHTML = str
        })
    </script>
</body>

</html>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值