JavaScript 基础 正则

1.正则

  • 检测有没有 两个 ll 连在一起的
        //定义字符串
        var str = 'hello feng';
        // 正则:有没有 两个连在一起的 ll
        //创建正则
        var reg = /ll/;
        //首次匹配的结果以数组的形式输出
        console.log(reg.exec(str));
        // 检测字符串是否满足正则表达式  符合 true  不符合false
        console.log(reg.test(str));

2.正则:切割

        var str = 'hello feng   ooo';
        //将单词截取出来
        console.log(str.split(' '));
        //正则:按照一个空格 或多个空格切割
        // console.log(str.split(/ +/));
        console.log(str.split(/\s +/));

3.正则:字符串 匹配 i 不区分大小写

        var str ='hello fEng abc'
        console.log(str.match('feng'));
        // 正则匹配  不区分大小写
        console.log(str.match(/feng/i));

4.正则:字符串搜索

      var str ='hello fEng abc'
      console.log(str.search('feng'));
      console.log(str.search(/feng/i));

5.正则:字符串 替换

        console.log(str.replace('feng','FENG'),111,str);
        console.log(str.replace(/feng/i,'FENG'),111,str);

6.正则表达式:精确匹配

        //匹配abc 字母
        var reg = /abc/;
        //abc必须挨在一起
        console.log(reg.test('abcefg')); //true
        console.log(reg.test('bacefg')); //false

7.正则:修饰符

        var str ='hello\nfe\nng';
        //将\n换成111
        console.log(str.replace(/\n/,111));
        //把所有的\n换成111
        console.log(str.replace(/\n/g,111));

8.正则:多行匹配

        var str = `
            hello faker
            hello faker
            hello faker
            hello faker
        `
        console.log(str.replace(/faker/g,'abc'));

9.正则:字符集

        //字符集
        console.log(/[abc]/.test('aqwe'));
        console.log(/[abc]/.test('qwe'));
        console.log(/[abc]/.test('qwbe'));

10.正则:范围集

        console.log(/[0-9]/.test('6'));
        console.log(/[0-9]/.test('a'));
        console.log(/[a-z]/.test('a'));
        console.log(/[A-Z]/.test('a'));

11.正则:十六进制

        console.log(/[0-9a-f]/.test('d'));
        console.log(/[0-9a-f]/.test('g '));

12.正则:负向类 ^ 不包含 ^必须写在[]才表示负向类

        console.log(/[^0-9]/.test('a'));
        console.log(/[^0-9]/.test('7'));

13.正则:边界符

        var str = 'abchello\nhelloabc\nabchello\nhelloabc'
        console.log(str);
        // 将开头的abc换成feng
        console.log(str.replace(/abc/,'feng'));
        //将所有的abc换成feng
        console.log(str.replace(/abc/g,'feng'));
        //只换开头的^    + gm(多行)
        console.log(str.replace(/^abc/gm,'feng'));

        //结尾abc换成feng 用$
        //匹配最后一行
        console.log(str.replace(/abc$/,'feng'));
        //匹配第一个
        console.log(str.replace(/abc$/m,'feng'));
        //多行匹配
        console.log(str.replace(/abc$/mg,'feng'));

        var str = 'hello feng'
        // \b表示单词边界  \B表示非单词边界
        console.log(str.replace(/\b/g,'---'));
        console.log(str.replace(/\B/g,'---'));

14.正则:量词

        //手机号11位数字  
        // 1 开头  后面都是数字
        var reg= /^[0-9]{10,11}$/;
        console.log(reg.test(12345678901));
        console.log(reg.test(123456789012));
        console.log(reg.test(1234567890123));
		//匹配16位数字
		var reg = /^[0-9a-f]*$/
        console.log(reg.test('11f'));
        console.log(reg.test('f00'));
        console.log(reg.test('g11'));
        

15.正则 :变量字母 数字 下划线 $ 不能以数字开头

        var reg = /^[a-zA-Z_$][0-9a-zA-Z]*$/;
        console.log(reg.test('feng'));
        console.log(reg.test('$feng'));
        console.log(reg.test('1feng'));
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页