JS高级知识

在这里插入图片描述
正则表达式
正则表达式就是用于匹配字符串中字符组合
特点:

  1. 灵活性、逻辑性和功能性非常的强。
  2. 可以迅速地用极简单的方式达到字符串的复杂控制。
    正则表达式的创建:
    通过调用RegExp对象的构造函数创建
var exp = new RegExp(/123/)
        console.log(exp);

利用字面量创建 正则表达式

        var exp = /123/
        console.log(exp);

Test()用于检测字符串是否符合该规则

        console.log(exp.test(123));
        console.log(exp.test('abc'));

边界符
^表示以谁开始
$表示以谁结束

 // 以a开头是true,不是则是false
        var reg1 = /^abc/;
        console.log(reg1.test('babc'));
        // 精确匹配 要求必须是 abc字符串才符合规范
        var reg2 = /^abc$/;
        console.log(reg2.test('abc'));
        // []表示有一系列字符可供选择,只要匹配其中一个就可以
        var reg3 = /[abc]/;
        console.log(reg3.test('qwea'));
        //26个英文字母任何一个字母返回 true - 表示的是a 到z 的范围
        var reg4 = /^[a-z]$/
        console.log(reg4.test('a'));
        // a-z,A-Z,0-9都可以
        var reg5 = /^[a-zA-Z0-9]$/;
        console.log(reg5.test('2'));
        //取反 方括号内部加上 ^ 表示取反,只要包含方括号内的字符,都返回 false 。
        var reg2 = /^[^a-zA-Z0-9]$/;
        console.log(reg2.test('-'));

量词符
*重复0次或更多次
+重复1次或更多次
? 重复0次或1次
{ n } 重复n次
{ n,} 重复n次或更多次
{ n, m } 重复n到m次
判断用户输入是否合法

        var reg = /^[a-zA-Z0-9_-]{6,16}$/;
        var inp = document.querySelector('.inp')
        var spa = document.querySelector('.spa')
        inp.onblur = function () {
            if (reg.test(this.value)) {
                console.log('正确的');
                spa.innerHTML = '输入正确'
            }
            else {
                console.log('错误的');
                spa.innerHTML = '输入错误'
            }
        }

预定义类

replace() 方法实现替换字符串操作
全部替换:g
忽略大小写:i

        // replace() 方法可以实现替换字符串操作
        var str = 'andy和red';
        var newStr = str.replace('andy', 'baby');
        console.log(newStr)
        //全部替换
        var str = 'abcabc'
        var nStr = str.replace(/a/, '哈哈')
        console.log(nStr)
        //全部替换g
        var nStr = str.replace(/a/g, '哈哈')
        console.log(nStr)
        //忽略大小写gi
        var str2 = 'AatAbcAba';
        var newStr = str2.replace(/a/i, '哈哈')
        console.log(newStr);

敏感词汇过滤

        var tex=document.querySelector('.tex')
        var btn=document.querySelector('.btn')
        var box=document.querySelector('.box')
        btn.onclick=function(){
            tex.value=tex.value.replace(/gay|激情/g,'**')
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值