这是一个通用靓号检测,手机靓号正则规则
可用于检测手机号,座机号,QQ号等数字类账号
内置规则
- AAA
- AAAA
- AAAAA
- AAAAAA
- AABB
- AABBCC
- AABBCCDD
- ABABAB
- ABCDEF
- ABCABC
- ABCDABCD
- php >= 7.2
- Composer
composer require zyan/beautiful -vvv
use Zyan\beautiful\beautiful;
Beautiful::go('15912345678');
Beautiful::config(
['靓号规则 比如 AAAA AABB ABCD...'],
['处理类型: mobile为手机号(只取后8位) 不传为通用,也就是对输入源不作任何处理']
);
//合并默认配置规则 也就是默认的规则上加上新的规则
Beautiful::config(['AAAA','AAABBB','AABB'],['mobile']);
//重新设置新规则 会复盖默认的规则
Beautiful::setConfig(['AAAA','AAABBB','AABB'],['mobile']);
//获取当前全局配置
Beautiful::getConfig();
//以上都是全局配置
//如果某对某一次的检测单独设置请传入到后面
Beautiful::go('15912345678',['AAAA','AAABBB','AABB'],['mobile']);
Beautiful::go('15912345678');
// ['ABCDEF']
返回命中规则 多个返回多个 未命中返回空数组
您需要继承 Zyan\Beautiful\RulesInterface
实现 public static function go(string $str): bool
方法
示例如下:
namespace Zyan\Beautiful\Rules;
use Zyan\Beautiful\RulesInterface;
/**
* Class ABCDEF.
*
* @package Zyan\Beautiful\Rules
*
* @author 读心印 <aa24615@qq.com>
*/
class ABCDEF implements RulesInterface
{
public static function go(string $str): bool
{
$isMatched = preg_match_all('/^\d(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){5,})\d/m', $str, $matches);
return $isMatched>0 ? true : false;
}
}
可使用 Beautiful::setRules(string $name,RulesInterface $value)
方法进行配置
Beautiful::setRules('ABCDEF',Zyan/Beautiful/Rules/ABCDEF:class); //这个class取决于您的命名空间
接下来您就可以使用了
Beautiful::go('15912345678',['ABCDEF']); //全局配置请用 Beautiful::Config(['ABCDEF'])
// ['ABCDEF']
- fork 当前库到你的名下
- 在你的本地修改完成审阅过后提交到你的仓库
- 提交 PR 并描述你的修改,等待合并