PHPackages                             hotarunohikari/dr-filter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hotarunohikari/dr-filter

ActiveComposer[Utility &amp; Helpers](/categories/utility)

hotarunohikari/dr-filter
========================

filter helper

1.0.1(5y ago)012MITPHPPHP &gt;=7.0.0

Since Apr 30Pushed 5y agoCompare

[ Source](https://github.com/hotarunohikari/dr-filter)[ Packagist](https://packagist.org/packages/hotarunohikari/dr-filter)[ RSS](/packages/hotarunohikari-dr-filter/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (1)DependenciesVersions (3)Used By (0)

dr-filter
=========

[](#dr-filter)

DrFilter输入过滤帮助类
---------------

[](#drfilter输入过滤帮助类)

用于对传入内容进行过滤,支持传入数组，违规的输入会被替换为null后返回。

内置1个默认过滤字符集和5个过滤等级,分别对应描述如下:

0:防xss攻击,并去除输入中的空格和换行回车

1:仅支持输入数字字母下划线和中日韩文字

2:仅支持输入数字字母下划线和中文

3:仅支持输入数字字母下划线

4:仅支持输入数字

默认过滤等级为0

注意: 本扩展默认不会对符号 # 进行过滤(多用于地址填写), 实际应用中请预防sql注入问题

一. 实例化:

单例模式(传入过滤等级)：

$filter = DrFilter::instance(1);

新建模式(传入过滤等级):

$filter = new DrFilter(1);

二. API:

```
/**
 * 设置默认的过滤字符
 * @param array $deny
 * @return $this;
 */
function setDefaultDeny(array $deny)

/**
 * 查看默认的过滤字符
 * @return array
 */
function getDefaultDeny()

/**
 * 查看默认的过滤等级
 * @return mixed
 */
function getStrict()

/**
 * 设置过滤等级
 * @param int $strict
 * @return $this
 */
function setStrict(int $strict)

/**
 * 设置自定义正则校验
 * @param int $strict
 * @return $this
 */
function setPreg($preg)

/**
 * 安全过滤输入,支持数组
 * 1.筛选默认过滤字符
 * 2.根据过滤等级或附加正则筛选
 * @param string|array $input 输入
 * @param int $strict 过滤级别,置空则为0
 * @return array
 */
function filter($input, $strict = null)

```

示例如下:

// 过滤输入

$param = DrFilter::instance()-&gt;filter(input(''));

// 按照指定正则过滤输入(检查是否是邮箱格式)

$param = DrFilter::instance()-&amp;gt;setGrep('/^\[a-zA-Z0-9\_-\]+@\[a-zA-Z0-9\_-\]+(.\[a-zA-Z0-9\_-\]+)+$/')-&gt;filter(input('email'));

DrCheck常见的输入检查
--------------

[](#drcheck常见的输入检查)

```
/**
 * 账户是否合法,数字字母下划线,指定长度区间
 * @param $account
 * @param int $min 最小长度
 * @param int $max 最大长度
 * @return false|int
 */
static function isValidAccount($account, $min, $max)

/**
 * 电子邮箱是否合法
 * @param $email
 * @return boolean
 */
static function isValidEmail($email)

/**
 * 手机号码是否合法
 * @param $mobile
 * @return boolean
 */
static function isValidMobile($mobile)

/**
 * 是否强密码(必须同时含有且仅含有 大小写字母数字)
 * @param $pass
 * @param int $min 最小长度
 * @param int $max 最大长度
 * @return boolean
 */
static function isStrongPass($pass,$min,$max)

/**
 * 网址是否合法
 * @param $url
 * @return boolean
 */
static function isValidUrl($url)

/**
 * 域名是否合法
 * @param $domain
 * @return boolean
 */
static function isValidDomain($domain)

/**
 * ip是否合法
 * @param $ip
 * @return boolean
 */
static function isValidIp($ip)

/**
 * CN固话是否合法
 * @param $tel
 * @return boolean
 */
static function isValidTel($tel)

/**
 * QQ号码是否合法
 * @param $qq
 * @return boolean
 */
static function isValidQQ($qq)

/**
 * 留言内容是否合法(最少15字)
 * @param $content
 * @return boolean
 */
static function isValidContent($content)

/**
 * 身份证合法性验证
 * @param string $idCard 身份证号码
 * @return boolean
 */
static function isValidIdCard($idCard)

/**
 * 是否为合法的银行卡号
 * @param $card_number
 * @return bool
 */
static function isBankCard($card_number)

/**
 * 验证组织机构代码是否合法：组织机构代码为8位数字或者拉丁字母+“-”+1位校验码。
 * @param string $value 字符
 * @return boolean
 */
static function isValidOrgCode($value)

/**
 * 验证国税税务登记号是否合法:税务登记证是6位区域代码+组织机构代码
 * @param string $taxCode 税字号
 * @return boolean
 */
static function isValidTaxCode($taxCode)

```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 72.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~31 days

Total

2

Last Release

2174d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/47f6cfe87caf5c95a781c6518d6d9dcb49e5e1999792ea7d66799f4f81410517?d=identicon)[hotarunohikari](/maintainers/hotarunohikari)

---

Top Contributors

[![hotarunohikari](https://avatars.githubusercontent.com/u/59673213?v=4)](https://github.com/hotarunohikari "hotarunohikari (8 commits)")[![CorderWei](https://avatars.githubusercontent.com/u/7877655?v=4)](https://github.com/CorderWei "CorderWei (3 commits)")

### Embed Badge

![Health badge](/badges/hotarunohikari-dr-filter/health.svg)

```
[![Health](https://phpackages.com/badges/hotarunohikari-dr-filter/health.svg)](https://phpackages.com/packages/hotarunohikari-dr-filter)
```

###  Alternatives

[adamhopkinson/laravel-model-hash

A trait which automatically generates a unique hash per model instance

2318.7k](/packages/adamhopkinson-laravel-model-hash)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
