<script>
        /*
            正则表达式 ---- 元字符
                具有特殊验证规范的 关键词/运算符

                \d      数字
                \D      非数字
                \w      数字字母下划线
                \W      非数字字母下划线
                \s      空格
                \S      非空格
                .       非换行

            JavaScript中的转义符 
                作用效果和 html中的字符实体相同 
                使用 特殊的符号 表示 对应的字符内容 防止程序执行冲突

                \'	'	单引号
                \"	"	双引号
                \\  \   斜杠
                \n	换行


                \b	退格键
                \f	换页
                \r	回车
                \t	水平制表符
                \v	垂直制表符
        
        */

        // // 定义 正则表达式
        // // 只 定义 /d 字符串中 只要有 数字就可以 
        // let reg1 = /\d/ ; 

        // // 验证字符串 

        // // 只要有 数字 结果就是 true 
        // console.log( reg1.test( '123' ) );
        // console.log( reg1.test( '123abc' ) );
        // console.log( reg1.test( 'a1bc' ) );

        // // 都不是 数字 结果是 false
        // console.log( reg1.test( 'abc' ) );

        // // 定义 正则表达式
        // // 只 定义 /D 字符串中 只要有 非数字就可以 
        // let reg2 = /\D/ ; 

        // // 验证字符串 

        // // 只要有 非数字 结果就是 true 
        // console.log( reg2.test( 'abc' ) );
        // console.log( reg2.test( '123abc' ) );
        // console.log( reg2.test( 'a1bc' ) );

        // // 都是 数字 没有 非数字 结果是 false
        // console.log( reg2.test( '123' ) );


        // // 定义正则表达式
        // // 只要有 空格 就可以 
        // let reg3 = /\s/ ;

        // console.log( reg3.test( 'a bc' ) );

        // // 字符实体 在 html中 才会被识别成 对应的执行效果 
        // // 在 js中 只是 字符串内容而已 不会被识别解析
        // console.log( reg3.test( ' ' ) );

        // 非换行
        let reg4 = /./ ; 
        console.log( reg4.test( `<br>` ) );
        console.log( reg4.test( `北京` ) );

        // 只有换行 结果才是 false
        console.log( reg4.test( `
` ) );

        console.log( reg4.test( '\n' ) );



        // JavaScript 转义符 
        window.alert( '今天北京\n下雪了' );

  
    </script>
    <script>
        /*
            边界符
                ^   起始
                $   结束
        
        */

        //  正则表达式
        
        // //  以 数字 开头
        // let reg1 = /^\d/ ;

        // console.log( reg1.test( '1abc' ) );//true
        // console.log( reg1.test( 'a1bc' ) );false

        // //  以 数字 结尾
        // let reg2 = /\d$/ ;

        // console.log( reg2.test( 'abc1' ) );//flse
        // console.log( reg2.test( '1a1bc' ) );

        // 从开头至结尾 只能是 数字 并且 只能有 一个数字
        let reg3 = /^\d$/ ;
        console.log( reg3.test( '1abc1' ) );

        console.log( reg3.test( '2' ) );


    </script>
 /*
            限定符  限定字符个数
                *       0 - 正无穷
                +       1 - 正无穷
                ?       0 - 1
                {n}     n个
                {n,}    n - 正无穷
                {n,m}   n - m 个
        
        */

        // // 从开头到结尾 只能是 数字 数字的个数是 0 - 正无穷 
        // let reg1 = /^\d*$/ ;

        // console.log( reg1.test( '123456' ) );
        // console.log( reg1.test( '' ) );
        // console.log( reg1.test( 'a' ) );

        // // 从开头到结尾 只能是 数字 数字的个数是 1 - 正无穷 
        // let reg2 = /^\d+$/ ;

        // console.log( reg2.test( '123456' ) );
        // console.log( reg2.test( '' ) );
        // console.log( reg2.test( 'a' ) );


        // // 从开头到结尾 只能是 数字 数字的个数是 0 - 1 
        // let reg3 = /^\d?$/ ;

        // console.log( reg3.test( '123456' ) );
        // console.log( reg3.test( '' ) );
        // console.log( reg3.test( 'a' ) );


        // // 从开头到结尾 只能是 数字 数字的个数是 5  
        // let reg4 = /^\d{5}$/ ;

        // console.log( reg4.test( '123456' ) );
        // console.log( reg4.test( '12345' ) );
        // console.log( reg4.test( '1234' ) );
        // console.log( reg4.test( '' ) );
        // console.log( reg4.test( 'a' ) );


        // // 从开头到结尾 只能是 数字 数字的个数是 5 - 正无穷 
        // let reg5 = /^\d{5,}$/ ;

        // console.log( reg5.test( '123456' ) );
        // console.log( reg5.test( '12345' ) );
        // console.log( reg5.test( '1234' ) );
        // console.log( reg5.test( '' ) );
        // console.log( reg5.test( 'a' ) );

        // 从开头到结尾 只能是 数字 数字的个数是 5 - 8 
        let reg6 = /^\d{5,8}$/ ;

        console.log( reg6.test( '1234567890' ) );
        console.log( reg6.test( '123456' ) );
        console.log( reg6.test( '12345' ) );
        console.log( reg6.test( '1234' ) );
        console.log( reg6.test( '' ) );
        console.log( reg6.test( 'a' ) );
 <script>
        /*
            配合正则表达式的字符串函数
                正则表达式语法
                    /正则/i     不区分大小写
                    /正则/g     全局匹配

                字符串函数
                    字符串.search() 
                        /正则/i     不区分大小写

                    字符串.replace()
                        /正则/g     全局匹配
        */
    </script>