学习笔记 - js - 正则

这篇博客详细介绍了JavaScript中的正则表达式使用,包括如何创建正则表达式,边界符^和$的用法,字符类[],量词符的作用,以及括号的总结。此外,还通过实例演示了如何验证座机号码。通过阅读,读者可以深入理解正则表达式的各种操作和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内容:

1.正则表达式在js中的使用

2.边界符 ^ $

3.字符类: [ ]

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

5.括号总结

6.座机号码验证

代码:

<script>
        // 1.正则表达式在js中的使用
        //  利用 RegExp对象来创建 正则表达式
        var regexp = new RegExp(/123/);
        console.log(regexp);
        //  利用字面量创建 正则表达式
        var rg = /123/;
        // test 方法用来检测字符串是否符合正则表达式要求的规范
        console.log(rg.test(123));  // true
        console.log(rg.test('abc'));    // false

        console.log('******************************************');

        // 2.边界符 ^ $ 
        var rg = /abc/; // 正则表达式里面不需要加引号 不管是数字型还是字符串型
        // /abc/ 只要包含有abc这个字符串返回的都是true
        console.log(rg.test('abc'));    // true
        console.log(rg.test('abcd'));   // true
        console.log(rg.test('aabcd'));  // true
        console.log('---------------------------');
        // 开头前三字符要求必须是 abc字符串才符合规范
        var reg = /^abc/;
        console.log(reg.test('abc')); // true
        console.log(reg.test('abcd')); // true
        console.log(reg.test('aabcd')); // false
        console.log('---------------------------');
        // 精确匹配 要求必须是 abc字符串才符合规范
        var reg1 = /^abc$/; 
        console.log(reg1.test('abc')); // true
        console.log(reg1.test('abcd')); // false
        console.log(reg1.test('aabcd')); // false
        console.log(reg1.test('abcabc')); // false

        console.log('******************************************');

        // 3.字符类: [] 表示有一系列字符可供选择,只要匹配其中一个就可以了
        // 只要包含有a 或者 包含有b 或者包含有c 都返回为true
        var reg1 = /[abc]/; 
        console.log(reg1.test('andy')); // ture
        console.log(reg1.test('baby')); // ture
        console.log(reg1.test('color')); // ture
        console.log(reg1.test('red')); // false
        console.log('------------------');

        // 三选一 只有是a 或者是 b  或者是c 这三个字母才返回 true
        var reg2 = /^[abc]$/;
        console.log(reg2.test('aa'));   // false
        console.log(reg1.test('a')); // ture
        console.log(reg1.test('b')); // ture
        console.log(reg1.test('c')); // ture
        console.log(reg1.test('abc')); // ture
        console.log('------------------');
        
        // 26个英文字母任何一个字母返回 true  - 表示的是a 到z 的范围 
        var reg3 = /^[a-z]$/;
        console.log(reg3.test('a')); // ture
        console.log(reg3.test('z')); // ture
        console.log(reg3.test(1)); // false
        console.log(reg3.test('A')); // false
        console.log('------------------');

        // 26个英文字母(大写和小写都可以)任何一个字母返回 true  
        var reg4 = /^[a-zA-Z0-9_-]$/; // ture
        console.log(reg4.test('a')); // ture
        console.log(reg4.test('B')); // ture
        console.log(reg4.test(8)); // ture
        console.log(reg4.test('-')); // ture
        console.log(reg4.test('_')); // ture
        console.log(reg4.test('!')); // false
        console.log('------------------');

        // 如果中括号里面有^ 表示取反的意思 千万和 我们边界符 ^ 别混淆
        var reg5 = /^[^a-zA-Z0-9_-]$/;
        console.log(reg5.test('a')); // false
        console.log(reg5.test('B')); // false
        console.log(reg5.test(8)); // false
        console.log(reg5.test('-')); // false
        console.log(reg5.test('_')); // false
        console.log(reg5.test('!')); // ture

        console.log('******************************************');

        // 4.量词符: 用来设定某个模式出现的次数
        // 简单理解: 就是让下面的a这个字符重复多少次
        // var reg6 = /^a$/;

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

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

        //  ?  相当于 1 || 0
        var reg8 = /^a?$/;
        console.log(reg8.test(''))  // ture
        console.log(reg8.test('a')) // ture
        console.log(reg8.test('aaa'))   // false
        console.log('------------------');

        //  {3} 就是重复3次
        var reg9 = /^a{3}$/;
        console.log(reg9.test(''))  // false
        console.log(reg9.test('a')) // false
        console.log(reg9.test('aaaaaa'))    // false
        console.log(reg9.test('aaa'))   // ture
        console.log('------------------');

        //  {3,}  大于等于3
        var reg10 = /^a{3,}$/;
        console.log(reg10.test('')) // false
        console.log(reg10.test('a'))    // false
        console.log(reg10.test('aaaaaa'))   // ture
        console.log(reg10.test('aaa'))  // ture
        console.log(reg10.test('aaaa')) // ture
        console.log('------------------');

        //  {3,6}  大于等于3 并且 小于等于6
        var reg11 = /^a{3,6}$/;
        console.log(reg11.test('')); // false
        console.log(reg11.test('a')); // false
        console.log(reg11.test('aaaa')); // true
        console.log(reg11.test('aaa')); // true
        console.log(reg11.test('aaaaaaa')); // false

        console.log('******************************************');

        // 5.括号总结
        // 中括号 字符集合.匹配方括号中的任意字符: a 也可以 b 也可以 c 可以 a||b||c
        var reg12 = /^[abc]$/;
        console.log(reg12.test('a')); // true
        console.log(reg12.test('b')); // true
        console.log(reg12.test('c')); // true
        console.log(reg12.test('abc')); // false
        console.log('------------------');

        // 大括号  量词符. 里面表示重复次数
        var reg13 = /^abc{3}$/;
        console.log(reg13.test('abc')); // false
        console.log(reg13.test('abcabcabc')); // false
        console.log(reg13.test('abccc')); // true
        console.log(reg13.test('ccc')); // false
        console.log('------------------');

        // 小括号 表示优先级
        var reg14 = /^(abc){3}$/; // 它是让abc重复三次
        console.log(reg14.test('abc'));
        console.log(reg14.test('abcabcabc'));
        console.log(reg14.test('abccc'));

        console.log('******************************************');

        // 6.座机号码验证:  
        // 全国座机号码  两种格式:   010-12345678  或者  0530-1234567
        // 正则里面的或者 符号  |  
        // var reg = /^\d{3}-\d{8}|\d{4}-\d{7}$/;
        var reg15 = /^\d{3,4}-\d{7,8}$/;
        console.log(reg15.test('010-12345678'))
        console.log(reg15.test('0530-1234567'))
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值