敏感词 v0.25.0 新特性之 wordCheck 策略支持用户自定义
<h1 id="开源项目">开源项目</h1><blockquote>
<p>敏感词核心 https://github.com/houbb/sensitive-word</p>
</blockquote>
<blockquote>
<p>敏感词控台 https://github.com/houbb/sensitive-word-admin</p>
</blockquote>
<h1 id="版本特性">版本特性</h1>
<p>大家好,我是老马。</p>
<p>敏感词一开始了内置了多种检验策略,但是很多用户在使用的过程中希望可以自定义策略。</p>
<p>所以 v0.25.0 开始,支持用户对部分策略进行自定义实现。</p>
<h1 id="快速开始">快速开始</h1>
<h2 id="maven-引入">maven 引入</h2>
<pre><code class="language-xml"><dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-word</artifactId>
<version>0.25.0</version>
</dependency>
</code></pre>
<h2 id="配置说明">配置说明</h2>
<p>v0.25.0 目前的几个策略,也支持用户引导类自定义。</p>
<p>所有的策略都是接口,支持用户自定义实现,自己在</p>
<table>
<thead>
<tr>
<th style="text-align: left">序号</th>
<th style="text-align: left">方法</th>
<th style="text-align: left">说明</th>
<th style="text-align: left">默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left">16</td>
<td style="text-align: left">wordCheckNum</td>
<td style="text-align: left">数字检测策略(v0.25.0开始支持)</td>
<td style="text-align: left"><code>WordChecks.num()</code></td>
</tr>
<tr>
<td style="text-align: left">17</td>
<td style="text-align: left">wordCheckEmail</td>
<td style="text-align: left">邮箱检测策略(v0.25.0开始支持)</td>
<td style="text-align: left"><code>WordChecks.email()</code></td>
</tr>
<tr>
<td style="text-align: left">18</td>
<td style="text-align: left">wordCheckUrl</td>
<td style="text-align: left">URL检测策略(v0.25.0开始支持),内置还是实现了 <code>urlNoPrefix()</code></td>
<td style="text-align: left"><code>(WordChecks.url()</code></td>
</tr>
<tr>
<td style="text-align: left">19</td>
<td style="text-align: left">wordCheckIpv4</td>
<td style="text-align: left">ipv4检测策略(v0.25.0开始支持)</td>
<td style="text-align: left"><code>WordChecks.ipv4()</code></td>
</tr>
<tr>
<td style="text-align: left">20</td>
<td style="text-align: left">wordCheckWord</td>
<td style="text-align: left">敏感词检测策略(v0.25.0开始支持)</td>
<td style="text-align: left"><code>WordChecks.word()</code></td>
</tr>
</tbody>
</table>
<p>内置实现:</p>
<p>a) <code>WordChecks.urlNoPrefix()</code> 作为 url 的额外实现,可以不需要 <code>https://</code> 和 <code>http://</code> 前缀。</p>
<h2 id="自定义使用的例子">自定义使用的例子</h2>
<p>下面是一个简单使用自定义策略的例子</p>
<pre><code class="language-java">final String text = "点击链接 https://www.baidu.com 查看答案,当然也可以是 baidu.com、www.baidu.com";
final SensitiveWordBs sensitiveWordBs = SensitiveWordBs.newInstance()
.enableUrlCheck(true) // 启用URL检测
.wordCheckUrl(WordChecks.urlNoPrefix()) //指定检测的方式
.init();
List<String> wordList = sensitiveWordBs.findAll(text);
Assert.assertEquals("", wordList.toString());
Assert.assertEquals("点击链接 https://************* 查看答案,当然也可以是 *********、*************", sensitiveWordBs.replace(text));
</code></pre>
<p>wordCheckUrl 可以指定对应的策略,如果不满足业务可以自己实现。</p>
<h1 id="小结">小结</h1>
<p>希望本文对你有所帮助,如果喜欢,欢迎点赞收藏转发一波。</p>
<p>我是老马,期待与你的下次相遇。</p><br><br>
来源:https://www.cnblogs.com/houbbBlogs/p/18857802
頁:
[1]