正则表达式

匹配中文

        let str="第十四章 吃通js正则表达式,javascript前端工程师必会技能";
        console.log(str.match(/\p{sc=Han}/gu));

 

反向引用,后面的和前面的保持一致

        let tel="2022-02-23";
        let reg = /^\d{4}([-\/])\d{2}\1\d{2}$/;
        console.log(tel.match(reg))

 字符串加入分隔符

let str="1234567890";
console.log(str.match(/\d/g).join(","))

原子组引用完成替换

         let str=`
         <h1>zangguangqi</h1>
         <span>20</span>
         <h2>username</h2>         
         `;
         
         let reg=/<(h[1-6]>)([\s\S]*)<\/\1/gi;
        console.log(str.replace(reg,`<p>$2</p>`));
        str.replace(reg,(p0,p1,p2)=>{
            console.log(p2)
        })

 批量使用正则

        <input type="text" name="password" />

        <script>
            const input = document.querySelector(`[name="password"]`);
            input.addEventListener("keyup", e => {
                const value = e.target.value;
                const regs = [/^[a-z0-9]{5,10}$/i, /[A-Z]/, /[0-9]/];
                let state = regs.every(e => e.test(value));
                console.log(state ? "正确" : "密码错误")
            })
        </script>

禁止贪婪

        <main>
            <span>123</span>
            <span>456</span>
            <span>789</span>
        </main>

        <script>
            /*
            要求:
             1.替换 span->h4 
             2.文字变成红色
             3.内容统一加上前缀 君莫笑
             */

            const main = document.querySelector("main");
            const reg = /<span>([\s\S]+?)<\/span>/gi;
            main.innerHTML = main.innerHTML.replace(reg, (v, p1) => {
                return `<h4 style="color:red;">君莫笑-${p1}</h4>`;
            })
        </script>

统计次数 ,p45 正则方法exec

 

posted on 2022-12-26 12:21  //君莫笑  阅读(41)  评论(0)    收藏  举报

导航