js的正则表达式

本文详细介绍了正则表达式的概念、作用、特点和使用方法,包括如何创建正则表达式、使用test()进行检测,以及边界符、量字符和预定义类的运用。通过实例展示了各种正则表达式模式的功能,帮助读者理解并掌握正则表达式的强大功能。
摘要由CSDN通过智能技术生成

概述

定义

正则表达式是对字符串和特殊字符操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

作用

判断输入的字符串是否符合规则,比如可以制作表单验证

特点

灵活性强,逻辑性和功能性非常强
可以迅速地使用极简单的方式达到字符串的复杂控制
入门时会觉得比较晦涩难懂
实际开发一般是复制写好的正则表达式,按照要求修改


使用

创建正则表达式

1.通过字面量来创建:var 变量名=/表达式/

        // 1.利用字面创建 正则表达式
        var rg = /123/;
        console.log(rg); //123

2.利用RegExp对象来创建正则表达式

        // 2.利用RegExp对象来创建正则表达式
        var regexp = new RegExp(/123/);
        console.log(regexp); //123

检测正则表达式的使用

test()
正则对象方法,用于检测字符串是否符合该规则,该对象会返回true和false,其参数是测试字符串

使用:
regexObj.test(str)
1.regexObj是写的正则表达式
2.str我们要测试的文本
3.检测str文本是否符合我们写的正则表达式规范
4、只要包含str的字符串,返回都是true

    var rg = /123/;
    console.log(rg.test('abc')); //false
    console.log(rg.test('123')); //true
    console.log(rg.test('112233')); //false
    console.log(rg.test('11123333')); //true

边界符

边界符(位置符号)表示字符所处的位置

在这里插入图片描述

        console.log(" ^============================== ");
        var reg = /^abc/
        console.log(reg.test('abcd')); //true
        console.log(reg.test('abc')); //true
        console.log(reg.test('aabc')); //false
        console.log(" $============================== ");
        var reg1 = /^abc$/
        console.log(reg1.test('abcd')); //false
        console.log(reg1.test('abc')); //true
        console.log(reg1.test('aabc')); //false
        console.log(reg1.test('abcabc')); //false

量字符

设定某个模式出现的次数

在这里插入图片描述

   // * 相当于出现>=0 可以出现0次或者很多次
        console.log('======*========');
        var reg = /^a*$/;
        console.log(reg.test(''));  //true
        console.log(reg.test('a'));   //true
        console.log(reg.test('aaa'));  //true
        // + 相当于出现>0 可以出现1次或者很多次
        console.log('======+========');
        var re = /^a+$/;
        console.log(re.test(''));  //false
        console.log(re.test('a')); //true
        console.log(re.test('aaa'));  //true
        // ? 相当于出现1||0 可以出现1次或者0多次
        console.log('======?========');
        var reg1 = /^a?$/;  
        console.log(reg1.test(''));  //true
        console.log(reg1.test('a'));  //true
        console.log(reg1.test('aaa'));  //false
        // {n} 重复n次
        console.log('======{n}========');
        var reg2 = /^a{3}$/; //重复3次
        console.log(reg2.test('')); //false
        console.log(reg2.test('a')); //false
        console.log(reg2.test('aaa'));  //true
        console.log(reg2.test('aaaa')); //false
        // {n,} 重复n次起步
        console.log('======{n,}========');
        var reg3 = /^a{3,}$/; //重复3次次起步
        console.log(reg3.test('')); //false
        console.log(reg3.test('a')); //false
        console.log(reg3.test('aaa')); //true
        console.log(reg3.test('aaaa')); //true
        // {n,m} 重复n到m次起步
        console.log('======{n,m}========');
        var reg4 = /^a{3,5}$/; //重复3到5次
        console.log(reg4.test('')); //false
        console.log(reg4.test('a')); //false
        console.log(reg4.test('aaa')); //true
        console.log(reg4.test('aaaa')); //true
        console.log(reg4.test('aaaaa')); //true
        console.log(reg4.test('aaaaaa')); //false

预定义类

某些常见模式的简写方式

在这里插入图片描述

括号总结

1.中括号:字符集合, 匹配方括号中的任意字符
2.大括号:量字符, 里面表示重复次数
3.小括号 :表示优先级

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值