正则表达式

<!-- 1.什么是正则表达式 -->
    <!-- 当您检索某一个文本的时候,可以使用有一种模式来描述你要检索的内容,这种模式就叫正则表达式 -->
    <!-- 使用正则表达式,可以判断文本内容的格式是否正确(格式检查)、可以替换文本内容、查询内容位置等 -->
    <!-- 主要的还是进行格式的检查和检索 -->
 
    <!-- 2.正则表达式的两种写法 -->
    <!-- RegExp 是正则表达式的缩写,使用它可以创建正则表达式 -->
    <script>
        //1. 定义一个正则表达式,这个正则表达式的意思是,定义了一个 格式标准 必须包含abc
        var reg = new RegExp("abc");
        console.log(reg);
 
        //2.正则表达式常用的方法
        //test(); 检索文本是否符合正则表达式的要求,返回值 true he false
        // var string = "010abcef";//true
        var string = "0abc111abc";//false
        console.log(reg.test(string));
 
        //exec(); 检索字符串中符合的指定值,然后返回,如果没发现合适的返回null
        //默认返回一个数组 ,如果有好几个合适的对象,只返回第一个
        console.log(reg.exec(string));
<!-- 1.什么是正则表达式 -->
    <!-- 当您检索某一个文本的时候,可以使用有一种模式来描述你要检索的内容,这种模式就叫正则表达式 -->
    <!-- 使用正则表达式,可以判断文本内容的格式是否正确(格式检查)、可以替换文本内容、查询内容位置等 -->
    <!-- 主要的还是进行格式的检查和检索 -->
 
    <!-- 2.正则表达式的两种写法 -->
    <!-- RegExp 是正则表达式的缩写,使用它可以创建正则表达式 -->
    <script>
        //1. 定义一个正则表达式,这个正则表达式的意思是,定义了一个 格式标准 必须包含abc
        var reg = new RegExp("abc");
        console.log(reg);
 
        //2.正则表达式常用的方法
        //test(); 检索文本是否符合正则表达式的要求,返回值 true he false
        // var string = "010abcef";//true
        var string = "0abc111abc";//false
        console.log(reg.test(string));
 
        //exec(); 检索字符串中符合的指定值,然后返回,如果没发现合适的返回null
        //默认返回一个数组 ,如果有好几个合适的对象,只返回第一个
        console.log(reg.exec(string));
 
// /正则表达式主体/修饰符(可选择是否添加)
        // 查询文本中是否包含weiwei i代表修饰符:不区分大小写
        var zhengze = /weiwei/i;
        console.log(zhengze.test("aaaWEiweiaa"));
 
        //修饰符
        //i 执行不区分大小写
        //g 执行全局的匹配
        var zhengze2 = /haha/g;
        //exec()加了g是执行全局的匹配,但是指的不是一次就将所有的结果一次返回。而是对于exec()这个函数来讲,加了g,每一次执行,都返回下一个索引的位置
 
        // 表达式的在主体部分
        // (1) /weiwei/ 寻找是否包含weiwei
 
        // (2)/[abc]/ 只要包含[]里的一个
        var zhengze3 = /[abc]/;
        console.log(zhengze3.test("a"));
        //  [0-9] 包含0-9中的一个 [a-z]
        var zhengze4 = /[a-z][0-8]/;
        console.log(zhengze4.test("8a"));
 
        // /[a-y,0-8]/ 必须有一个满足 a-z或0-8
        var zhengze7 = /[a-y,0-8]/;
        console.log(zhengze7.test("y9"));
 
 
        //(3) a{3} 必须有3个a
        // var zhengze5 = /abc{2}/;
        // console.log(zhengze5.test("abcc"));//true   abcabc false
 
        // //要有3-8个C
        // var zhengze6 = /c{3,8}/;
        // console.log(zhengze6.test("cccc"));
 
// ^以什么开头:以ab为开头
        var zhengze  = /^ab/;
        console.log(zhengze.test("aabc"));//false
 
        //$以什么为结尾:
        var zhengze2 = /ab$/;
        console.log(zhengze2.test("aaaab"));//true
 
        var zhengze3 = /^[0-9]{8}@qq.com$/;
        console.log(zhengze3.test("12345677@qq.com"));
 
        //n+ n* n?
        //n+ 匹配至少有一个n {1,---}
        //n* 匹配0个到多个n     {0,---}
        //n? 匹配0个或1个n的字符串 {0,1} 不是很好触发
        var zhengze4 = /i?/;
        console.log(zhengze4.test("weii"));
 
        //d 代表数字 [0-9]
        console.log(/d/.test("a"));//flase
        //D 非数字
        console.log(/D/.test("&"));
        //s 空格
        console.log(/s/.test("a a"));
 
        //手机号
        var tel = /^1d{10}$/;
        //判断是否是中国的电话
        var tel2 = /^+861d{10}$/;
 
 
        //-------------------------------------
        //以字母开头
        var mail = /^[a-z]/i;
        //必须有数字
        var mail2 = /d/;
        //@163.com
        var mail3 = /@163.com$/;
原文地址:https://www.cnblogs.com/cntt/p/6544988.html