用正則表示式匹配HTML標籤
阿新 • • 發佈:2018-12-16
<script> //匹配HTML標籤 方法一: var str = '<p class="odd" id="odd">123</p>'; var pattern = /<\/?[a-zA-Z]+(\s+[a-zA-Z]+=".*")*>/g; console.log(str.match(pattern)); 方法二: var str = '<p class="odd" id="odd">123</p>'; var pattern = /<[^>]+>/g; console.log(str.match(pattern)); 方法三: var str = '<input type="text" value=">" name="username" />'; var pattern = /<(?:[^"'>]|"[^"]*"|'[^']*')*>/g; console.log(str.match(pattern)); 說明:()表示捕獲分組,()會把每個分組裡的匹配的值儲存起來,使用$n(n是一個數字,表示第n個捕獲組的內容) (?:)表示非捕獲分組,和捕獲分組唯一的區別在於,非捕獲分組匹配的值不會儲存起來 沒有引用的需求的話,採用非捕獲性分組,更為簡潔; 方法四: var str = '<input type="text" value=">" name="username" />'; var pattern = /<(?:[^"'>]|(["'])[^"']*\1)*>/g; console.log(str.match(pattern)); </script>