正则表达式
匹配中文
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

浙公网安备 33010602011771号