1
0

index.html 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>正则表达式工具 - FeHelper</title>
  7. <link rel="stylesheet" href="index.css">
  8. <script type="text/javascript" src="../static/vendor/jquery/jquery-3.3.1.min.js"></script>
  9. <script type="text/javascript" src="../static/vendor/evalCore.min.js"></script>
  10. </head>
  11. <body>
  12. <div class="panel panel-default" style="margin-bottom: 0px;">
  13. <div class="panel-heading">
  14. <h3 class="panel-title">
  15. <a href="https://fehelper.com" target="_blank" class="x-a-high">
  16. <img src="../static/img/fe-16.png" alt="fehelper"/> FeHelper</a>:正则表达式工具
  17. <a class="x-other-tools" id="btnOtherTools"><i class="icon-plus-circle"></i> 探索更多实用工具 <span class="tool-market-badge">工具市场</span></a>
  18. <span class="x-donate-link" id="donateLink"><a href="#" id="donateLink"><i class="nav-icon">❤</i>&nbsp;打赏鼓励</a></span>
  19. </h3>
  20. </div>
  21. </div>
  22. <main class="container">
  23. <!-- Tab 切换区域 -->
  24. <div class="tab-container">
  25. <div class="tab-header">
  26. <button class="tab-btn active" data-tab="new-version">新版 - 正则速查</button>
  27. <button class="tab-btn" data-tab="old-version">旧版 - 正则测试</button>
  28. </div>
  29. <!-- 新版内容 -->
  30. <div class="tab-content active" id="new-version">
  31. <!-- 正则可视化调试区域 -->
  32. <section class="regex-visual-debugger">
  33. <h2>正则表达式可视化调试</h2>
  34. <div class="visual-debugger-form">
  35. <select id="visualRegexPreset">
  36. <option value="">自定义/选择常用正则</option>
  37. <!-- 动态插入所有内置正则 -->
  38. </select>
  39. <input type="text" id="visualRegex" placeholder="请输入正则表达式,如:^\\d{3}-\\d{8}$" />
  40. <div class="visual-flags-group">
  41. <label class="flag-btn" title="g:全局匹配(查找所有匹配项)">
  42. <input type="checkbox" value="g" /> g
  43. </label>
  44. <label class="flag-btn" title="i:忽略大小写">
  45. <input type="checkbox" value="i" /> i
  46. </label>
  47. <label class="flag-btn" title="m:多行模式(^$作用于每行)">
  48. <input type="checkbox" value="m" /> m
  49. </label>
  50. <span class="flag-desc">常用标志:g=全局 i=忽略大小写 m=多行</span>
  51. </div>
  52. <input type="text" id="visualFlags" placeholder="标志(可选,如:gim)" maxlength="5" style="display:none;" />
  53. </div>
  54. <textarea id="visualTestText" rows="4" placeholder="请输入要测试的文本"></textarea>
  55. <div class="visual-debugger-actions">
  56. <button id="visualTestBtn">测试匹配</button>
  57. <span id="visualErrorMsg" class="visual-error-msg"></span>
  58. </div>
  59. <div id="visualResult" class="visual-result"></div>
  60. </section>
  61. <div class="search-container">
  62. <div class="search-box">
  63. <input type="text" id="regexSearch" placeholder="输入关键词,搜索正则表达式..." />
  64. <span class="search-icon">🔍</span>
  65. </div>
  66. </div>
  67. <div id="regexCategoryContainer"></div>
  68. </div>
  69. <!-- 旧版内容 -->
  70. <div class="tab-content" id="old-version">
  71. <div class="wrapper" id="pageContainer">
  72. <div class="panel-body mod-regexp">
  73. <div class="ui-po-r ui-mb-20">
  74. <h3 class="panel-subtitle">正则表达式</h3>
  75. <span class="pannel-select reg-list">
  76. <select class="form-control reglist_select" id="regList">
  77. <option value="">-- 常用正则表达式 --</option>
  78. </select>
  79. </span>
  80. </div>
  81. <textarea class="reg_reg_input form-control" id="regText" placeholder="输入正则表达式,如:/[0-9A-Z].*?/igm" rows="1" tabindex="10"></textarea>
  82. <a class="reg_link" href="https://chrome.fehelper.com/blog/detail.html?id=eb10deb92f2c05ca32cf" target="_blank" tabindex="30">Javascript正则表达式语法</a>
  83. <div id="src" class="ui-mt-20">
  84. <h3 class="panel-subtitle">文本内容</h3>
  85. <div id="srcWrapper">
  86. <pre class="reg_pre" id="srcBackground"></pre>
  87. <textarea class="reg_textarea" id="srcCode" placeholder="输入待匹配的文本" contenteditable="true"></textarea>
  88. </div>
  89. </div>
  90. <div id="rst" class="">
  91. <h3 class="panel-subtitle">匹配结果&nbsp;&nbsp;<span id="rstCount"></span></h3>
  92. <div id="rstCode"></div>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. </main>
  99. <!-- 模态框 -->
  100. <div class="modal" id="regexModal">
  101. <div class="modal-content">
  102. <span class="close">&times;</span>
  103. <h2 id="modalTitle"></h2>
  104. <div class="regex-versions">
  105. <div class="version">
  106. <h3>JavaScript</h3>
  107. <pre><code id="jsRegex"></code></pre>
  108. <button class="copy-btn" data-target="jsRegex">复制</button>
  109. </div>
  110. <div class="version">
  111. <h3>Python</h3>
  112. <pre><code id="pythonRegex"></code></pre>
  113. <button class="copy-btn" data-target="pythonRegex">复制</button>
  114. </div>
  115. <div class="version">
  116. <h3>PHP</h3>
  117. <pre><code id="phpRegex"></code></pre>
  118. <button class="copy-btn" data-target="phpRegex">复制</button>
  119. </div>
  120. <div class="version">
  121. <h3>Java</h3>
  122. <pre><code id="javaRegex"></code></pre>
  123. <button class="copy-btn" data-target="javaRegex">复制</button>
  124. </div>
  125. </div>
  126. <div class="regex-description">
  127. <h3>说明</h3>
  128. <p id="regexDescription"></p>
  129. </div>
  130. </div>
  131. </div>
  132. <script src="index.js"></script>
  133. </body>
  134. </html>