Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
数据应用
ThinkLibrary
提交
9ce6fa05
T
ThinkLibrary
项目概览
数据应用
/
ThinkLibrary
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
代码片段
项目成员
Pages
T
ThinkLibrary
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9ce6fa05
编写于
4月 17, 2020
作者:
李光春
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- update facade
上级
0c849916
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
334 addition
and
0 deletion
+334
-0
src/Random.php
src/Random.php
+89
-0
src/Str.php
src/Str.php
+158
-0
src/facade/Random.php
src/facade/Random.php
+42
-0
src/facade/Str.php
src/facade/Str.php
+45
-0
未找到文件。
src/Random.php
0 → 100644
浏览文件 @
9ce6fa05
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace
DtApp\ThinkLibrary
;
/**
* 随机管理类
* Class Ints
* @mixin Ints
* @package DtApp\ThinkLibrary
*/
class
Random
{
/**
* 生成随机
* @param int $length 长度
* @param int $type 类型,1 纯数字,2 纯小写字母,3 纯大写字母,4 数字和小写字母,5 数字和大写字母,6 大小写字母,7 数字和大小写字母
* @return false|string
*/
public
function
generate
(
int
$length
=
6
,
int
$type
=
1
)
{
// 取字符集数组
$number
=
range
(
0
,
9
);
$lowerLetter
=
range
(
'a'
,
'z'
);
$upperLetter
=
range
(
'A'
,
'Z'
);
// 根据type合并字符集
if
(
$type
==
1
)
{
$charset
=
$number
;
}
elseif
(
$type
==
2
)
{
$charset
=
$lowerLetter
;
}
elseif
(
$type
==
3
)
{
$charset
=
$upperLetter
;
}
elseif
(
$type
==
4
)
{
$charset
=
array_merge
(
$number
,
$lowerLetter
);
}
elseif
(
$type
==
5
)
{
$charset
=
array_merge
(
$number
,
$upperLetter
);
}
elseif
(
$type
==
6
)
{
$charset
=
array_merge
(
$lowerLetter
,
$upperLetter
);
}
elseif
(
$type
==
7
)
{
$charset
=
array_merge
(
$number
,
$lowerLetter
,
$upperLetter
);
}
else
{
$charset
=
$number
;
}
$str
=
''
;
// 生成字符串
for
(
$i
=
0
;
$i
<
$length
;
$i
++
)
{
$str
.
=
$charset
[
mt_rand
(
0
,
count
(
$charset
)
-
1
)];
// 验证规则
if
(
$type
==
4
&&
strlen
(
$str
)
>=
2
)
{
if
(
!
preg_match
(
'/\d+/'
,
$str
)
||
!
preg_match
(
'/[a-z]+/'
,
$str
))
{
$str
=
substr
(
$str
,
0
,
-
1
);
$i
=
$i
-
1
;
}
}
if
(
$type
==
5
&&
strlen
(
$str
)
>=
2
)
{
if
(
!
preg_match
(
'/\d+/'
,
$str
)
||
!
preg_match
(
'/[A-Z]+/'
,
$str
))
{
$str
=
substr
(
$str
,
0
,
-
1
);
$i
=
$i
-
1
;
}
}
if
(
$type
==
6
&&
strlen
(
$str
)
>=
2
)
{
if
(
!
preg_match
(
'/[a-z]+/'
,
$str
)
||
!
preg_match
(
'/[A-Z]+/'
,
$str
))
{
$str
=
substr
(
$str
,
0
,
-
1
);
$i
=
$i
-
1
;
}
}
if
(
$type
==
7
&&
strlen
(
$str
)
>=
3
)
{
if
(
!
preg_match
(
'/\d+/'
,
$str
)
||
!
preg_match
(
'/[a-z]+/'
,
$str
)
||
!
preg_match
(
'/[A-Z]+/'
,
$str
))
{
$str
=
substr
(
$str
,
0
,
-
2
);
$i
=
$i
-
2
;
}
}
}
return
$str
;
}
}
src/Str.php
0 → 100644
浏览文件 @
9ce6fa05
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace
DtApp\ThinkLibrary
;
/**
* 字符串管理类
* Class Ints
* @mixin Ints
* @package DtApp\ThinkLibrary
*/
class
Str
{
/**
* 截取字符串前面n个字符
* @param string $str 字符串
* @param int $start_num 开始位置
* @param int $end_num 多少个
* @return bool|false|string
*/
public
function
extractBefore
(
string
$str
,
int
$start_num
,
int
$end_num
)
{
if
(
strlen
(
$str
)
<
$start_num
+
$end_num
)
return
$str
;
return
substr
(
$str
,
$start_num
,
$end_num
);
}
/**
* 截取字符串最后n个字符
* @param string $str 字符串
* @param int $num 多少个
* @return false|string
*/
public
function
extractRear
(
string
$str
,
int
$num
)
{
if
(
strlen
(
$str
)
<=
$num
)
return
$str
;
return
substr
(
$str
,
-
$num
);
}
/**
* 过滤字符串
* @param string $str
* @return string
*/
public
function
filter
(
string
$str
)
{
$str
=
str_replace
(
'`'
,
''
,
$str
);
$str
=
str_replace
(
'·'
,
''
,
$str
);
$str
=
str_replace
(
'~'
,
''
,
$str
);
$str
=
str_replace
(
'!'
,
''
,
$str
);
$str
=
str_replace
(
'!'
,
''
,
$str
);
$str
=
str_replace
(
'@'
,
''
,
$str
);
$str
=
str_replace
(
'#'
,
''
,
$str
);
$str
=
str_replace
(
'$'
,
''
,
$str
);
$str
=
str_replace
(
'¥'
,
''
,
$str
);
$str
=
str_replace
(
'%'
,
''
,
$str
);
$str
=
str_replace
(
'^'
,
''
,
$str
);
$str
=
str_replace
(
'……'
,
''
,
$str
);
$str
=
str_replace
(
'&'
,
''
,
$str
);
$str
=
str_replace
(
'*'
,
''
,
$str
);
$str
=
str_replace
(
'('
,
''
,
$str
);
$str
=
str_replace
(
')'
,
''
,
$str
);
$str
=
str_replace
(
'('
,
''
,
$str
);
$str
=
str_replace
(
')'
,
''
,
$str
);
$str
=
str_replace
(
'-'
,
''
,
$str
);
$str
=
str_replace
(
'_'
,
''
,
$str
);
$str
=
str_replace
(
'——'
,
''
,
$str
);
$str
=
str_replace
(
'+'
,
''
,
$str
);
$str
=
str_replace
(
'='
,
''
,
$str
);
$str
=
str_replace
(
'|'
,
''
,
$str
);
$str
=
str_replace
(
'\\'
,
''
,
$str
);
$str
=
str_replace
(
'['
,
''
,
$str
);
$str
=
str_replace
(
']'
,
''
,
$str
);
$str
=
str_replace
(
'【'
,
''
,
$str
);
$str
=
str_replace
(
'】'
,
''
,
$str
);
$str
=
str_replace
(
'{'
,
''
,
$str
);
$str
=
str_replace
(
'}'
,
''
,
$str
);
$str
=
str_replace
(
';'
,
''
,
$str
);
$str
=
str_replace
(
';'
,
''
,
$str
);
$str
=
str_replace
(
':'
,
''
,
$str
);
$str
=
str_replace
(
':'
,
''
,
$str
);
$str
=
str_replace
(
'\''
,
''
,
$str
);
$str
=
str_replace
(
'"'
,
''
,
$str
);
$str
=
str_replace
(
'“'
,
''
,
$str
);
$str
=
str_replace
(
'”'
,
''
,
$str
);
$str
=
str_replace
(
','
,
''
,
$str
);
$str
=
str_replace
(
','
,
''
,
$str
);
$str
=
str_replace
(
'<'
,
''
,
$str
);
$str
=
str_replace
(
'>'
,
''
,
$str
);
$str
=
str_replace
(
'《'
,
''
,
$str
);
$str
=
str_replace
(
'》'
,
''
,
$str
);
$str
=
str_replace
(
'.'
,
''
,
$str
);
$str
=
str_replace
(
'。'
,
''
,
$str
);
$str
=
str_replace
(
'/'
,
''
,
$str
);
$str
=
str_replace
(
'、'
,
''
,
$str
);
$str
=
str_replace
(
'?'
,
''
,
$str
);
$str
=
str_replace
(
'?'
,
''
,
$str
);
$str
=
str_replace
(
'╮'
,
''
,
$str
);
$str
=
str_replace
(
'('
,
''
,
$str
);
$str
=
str_replace
(
')'
,
''
,
$str
);
$str
=
str_replace
(
'r'
,
''
,
$str
);
$str
=
str_replace
(
'ぷ'
,
''
,
$str
);
$str
=
str_replace
(
'〆'
,
''
,
$str
);
$str
=
str_replace
(
'ゞ'
,
''
,
$str
);
$str
=
str_replace
(
'ヤ'
,
''
,
$str
);
$str
=
str_replace
(
'ゼ'
,
''
,
$str
);
$str
=
str_replace
(
'ǎ'
,
''
,
$str
);
$str
=
str_replace
(
'ǎ'
,
''
,
$str
);
$str
=
str_replace
(
'〆'
,
''
,
$str
);
$str
=
str_replace
(
'む'
,
''
,
$str
);
$str
=
str_replace
(
'§'
,
''
,
$str
);
$str
=
str_replace
(
'上门'
,
''
,
$str
);
return
trim
(
$str
);
}
/**
* 判断字符串是否包含某个字符
* @param $str
* @param int $nee
* @param string $del
* @return bool
*/
public
function
exitContain
(
string
$str
,
$nee
=
3
,
$del
=
','
)
{
if
(
strpos
(
$str
,
$del
)
!==
false
)
{
$var
=
explode
(
$del
,
$str
);
foreach
(
$var
as
$v
)
{
if
(
$v
==
$nee
)
return
true
;
}
return
false
;
}
else
{
if
(
$str
==
$nee
)
return
true
;
return
false
;
}
}
/**
* 统计字符串长度
* @param string $str 字符串
* @return int
*/
public
function
len
(
string
$str
)
{
return
strlen
(
$str
);
}
}
src/facade/Random.php
0 → 100644
浏览文件 @
9ce6fa05
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace
DtApp\ThinkLibrary\facade
;
use
think\facade
;
/**
* 随机门面
* Class Preg
* @see \DtApp\ThinkLibrary\Random
* @package think\facade
* @mixin \DtApp\ThinkLibrary\Random
*
* @method \DtApp\ThinkLibrary\Random generate(int $length = 6, int $type = 1) false|string 生成随机
*/
class
Random
extends
Facade
{
/**
* 获取当前Facade对应类名(或者已经绑定的容器对象标识)
* @access protected
* @return string
*/
protected
static
function
getFacadeClass
()
{
return
'DtApp\ThinkLibrary\Random'
;
}
}
src/facade/Str.php
0 → 100644
浏览文件 @
9ce6fa05
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace
DtApp\ThinkLibrary\facade
;
use
think\facade
;
/**
* 字符串门面
* Class Preg
* @see \DtApp\ThinkLibrary\Str
* @package think\facade
* @mixin \DtApp\ThinkLibrary\Str
*
* @method \DtApp\ThinkLibrary\Str extractBefore(string $str, int $start_num, int $end_num) bool|false|string 截取字符串前面n个字符
* @method \DtApp\ThinkLibrary\Str extractRear(string $str, int $num) false|string 截取字符串最后n个字符
* @method \DtApp\ThinkLibrary\Str filter(string $str) string 过滤字符串
* @method \DtApp\ThinkLibrary\Str exitContain(string $str, $nee = 3, $del = ',') bool 判断字符串是否包含某个字符
* @method \DtApp\ThinkLibrary\Str len(string $str) int 统计字符串长度
*/
class
Str
extends
Facade
{
/**
* 获取当前Facade对应类名(或者已经绑定的容器对象标识)
* @access protected
* @return string
*/
protected
static
function
getFacadeClass
()
{
return
'DtApp\ThinkLibrary\Str'
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录