服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 正则表达式 - js正则表达式处理超文本流

js正则表达式处理超文本流

2020-07-16 16:16正则之家 正则表达式

本文主要讲解js正则表达式处理超文本流的实现方法,有需要的朋友可以参考下

  1. <textarea id=html_string style="width=100%" rows=8>  
  2. <input  
  3. type='text' value = 's>om  
  4. " ething' name=names asdf=asdf>  
  5. </input>><input value=a>a name=aa><input name=bb value=bb>  
  6. <input name=cc value=cc>  
  7. </textarea>  
  8.  
  9. <script>  
  10. var re = new Array()  
  11. re[re.length] = Array("单标记   ", /<(\w+)[^"']*?((["'])?[^\3]*?\3[^"']*?)+>/ig)  
  12. re[re.length] = Array("属性(带引号)", /\w+\s*=\s*(["'])[^\1]*?\1/ig)  
  13. re[re.length] = Array("属性(没引号)", /\w+\s*=\s*\w+/gi)  
  14. //alert(re.exec(ss))  
  15.  
  16. for (var i=0; i<re.length; i++)  
  17. {  
  18. document.write("<input type=radio name=re value="+i+">"+re[i][0]+" <input id=reValue size=100 type=text> ")  
  19. document.write("<button onclick='re["+i+"][1]=document.all.reValue["+i+"].value'>保存</button>")  
  20. document.write("<button onclick='document.all.reValue["+i+"].value=re["+i+"][1]'>恢复</button>")  
  21. document.all.reValue.length ? document.all.reValue[document.all.reValue.length-1].value = re[i][1] : document.all.reValue.value = re[i][1]  
  22. }  
  23.  
  24. document.all.re[0].checked = true  
  25.  
  26. function matchTest()  
  27. {  
  28. var ss = html_string.innerText  
  29. var re  
  30. for (var i=0; i<document.all.re.length; i++) if(document.all.re[i].checked) break  
  31. re = eval(document.all.reValue[i].value)  
  32. rx = re.exec(ss)  
  33. testArea.innerHTML = ""  
  34. for (var i=1; i<9; i++) testArea.innerHTML += " RegExp$"+i+"="+eval("RegExp.$"+i)+" "  
  35. rv = ss.match(re)  
  36. for (var i=0; rv && i<rv.length; i++)  
  37. {  
  38. testArea.innerHTML += "<xmp style='background:#EEEEEE; padding:5px'>"+rv[i]+"</xmp>"  
  39. }  
  40. }  
  41. </script>  
  42.  
  43.   
  44.  
  45. <button onclick=matchTest()>测试</button>  
  46.  
  47. <div id=testArea></div>  

延伸 · 阅读

精彩推荐