randomthing-js
v2.0.1
Published
快速生成随机内容的轻量级脚本库
Downloads
12
Maintainers
Readme
RandomThing.js
快速生成随机内容的轻量级脚本库
安装
cdn 安装
<!-- jsdelivr cdn -->
<script src="https://cdn.jsdelivr.net/npm/randomthing-js@latest/dist/randomthing.min.js"></script>
<!-- unpkg cdn -->
<script src="https://unpkg.com/randomthing-js@latest/dist/randomthing.min.js"></script>
<script>
const en = RT.en( 10 );
console.log( en );
</script>
node 安装
// 安装
npm i randomthing-js -S
// 引入
const RT = require( "randomthing-js" );
// 使用
const en = RT.en( 10 );
console.log( en );
方法汇总
RT.number();
RT.en();
RT.EN();
RT.En();
RT.number_en();
RT.number_EN();
RT.number_En();
RT.cn();
RT.number_cn();
RT.en_cn();
RT.EN_cn();
RT.En_cn();
RT.number_en_cn();
RT.number_EN_cn();
RT.number_En_cn();
RT.specialChars();
RT.chars();
RT.custom();
RT.uuid();
RT.repeat();
RT.id();
RT.boolean();
RT.ip();
RT.email();
RT.date();
RT.time();
RT.dateTime();
RT.hex();
RT.rgb();
RT.rgba();
RT.url();
RT.image();
RT.array();
RT.extend();
用法示例
- 0 - 1 之间的随机数
- 指定长度的随机整数
- 指定范围的随机整数
- 随机小写字母
- 随机大写字母
- 随机大小写字母
- 随机 "数字 + 小写字母"
- 随机 "数字 + 大写字母"
- 随机 "数字 + 大小写字母"
- 随机汉字
- 随机 "数字 + 汉字"
- 随机 "小写字母 + 汉字"
- 随机 "大写字母 + 汉字"
- 随机 "大小写字母 + 汉字"
- 随机 "数字 + 小写字母 + 汉字"
- 随机 "数字 + 大写字母 + 汉字"
- 随机 "数字 + 大小写字母 + 汉字"
- 随机特殊字符
- 随机 "数字 + 大小写字母 + 特殊字符"
- 自定义随机字符
- uuid
- 重复字符
- 随机布尔值
- 随机 ip 地址
- 随机 email
- 随机日期
- 随机时间
- 随机日期时间
- 随机 hex 格式颜色
- 随机 rgb 颜色
- 随机 rgba 颜色
- 随机网址
- 随机纯色图片
- 数组内容
- 扩展机制
语法:RT.number()
RT.number();
语法:
RT.number( length )
RT.number( [ minLength, maxLength ] )
参数:
length, minLength, maxLength
有效范围 1 - 16minLength
必须小于maxLength
RT.number( 5 );
RT.number( [ 5, 10 ] );
语法:RT.number( min, max )
参数:min
必须小于 max
(生成的随机数包含 min
和 max
这两个边界值)
RT.number( 10, 50 );
语法:
RT.en( length )
RT.en( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.en( 10 );
RT.en( [ 10, 20 ] );
语法:
RT.EN( length )
RT.EN( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.EN( 10 );
RT.EN( [ 10, 20 ] );
语法:
- RT.En( length )
- RT.En( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.En( 10 );
RT.En( [ 10, 20 ] );
语法:
RT.number_en( length )
RT.number_en( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.number_en( 10 );
RT.number_en( [ 10, 20 ] );
语法:
RT.number_EN( length )
RT.number_EN( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.number_EN( 10 );
RT.number_EN( [ 10, 20 ] );
语法:
RT.number_En( length )
RT.number_En( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.number_En( 10 );
RT.number_En( [ 10, 20 ] );
语法:
RT.cn( length )
RT.cn( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.cn( 10 );
RT.cn( [ 10, 20 ] );
语法:
RT.number_cn( length )
RT.number_cn( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.number_cn( 10 );
RT.number_cn( [ 10, 20 ] );
语法:
RT.en_cn( length )
RT.en_cn( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.en_cn( 10 );
RT.en_cn( [ 10, 20 ] );
语法:
RT.EN_cn( length )
RT.EN_cn( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.EN_cn( 10 );
RT.EN_cn( [ 10, 20 ] );
语法:
RT.En_cn( length )
RT.En_cn( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.En_cn( 10 );
RT.En_cn( [ 10, 20 ] );
语法:
RT.number_en_cn( length )
RT.number_en_cn( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.number_en_cn( 10 );
RT.number_en_cn( [ 10, 20 ] );
语法:
RT.number_EN_cn( length )
RT.number_EN_cn( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.number_EN_cn( 10 );
RT.number_EN_cn( [ 10, 20 ] );
语法:
RT.number_En_cn( length )
RT.number_En_cn( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
RT.number_En_cn( 10 );
RT.number_En_cn( [ 10, 20 ] );
语法:
RT.specialChars( length )
RT.specialChars( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
特殊字符包括:-+/~`!@#$%^&()_=[]{};:'"\?<>,.|
RT.specialChars( 10 );
RT.specialChars( [ 10, 20 ] );
语法:
RT.chars( length )
RT.chars( [ minLength, maxlength ] )
参数:
length, minLength, maxLength
有效范围 1 - 9007199254740991minLength
必须小于maxLength
特殊字符包括:-+/~`!@#$%^&()_=[]{};:'"\?<>,.|
RT.chars( 10 );
RT.chars( [ 10, 20 ] );
语法:RT.custom( opt )
参数:
opt.chars
自定义的字符集合opt.count
长度
RT.custom({
chars: "abcd1234",
count: 5
});
RT.custom({
chars: "abcd1234",
count: [ 5, 10 ]
});
语法:RT.uuid( opt )
参数:
opt.withoutLine
去掉横线opt.uppercase
转换成大写形式
RT.uuid();
RT.uuid({
withoutLine: true,
uppercase: true
});
语法:RT.repeat( opt )
参数:
opt.chars
自定义的字符opt.count
重复次数
RT.repeat({
chars: "abc",
count: 3
});
RT.repeat({
chars: "abc",
count: [ 3, 6 ]
});
语法:RT.id( opt )
参数:
opt.prefix
前缀opt.suffix
后缀
RT.id();
RT.id({
prefix: "aa-",
suffix: "-kk"
});
语法:RT.boolean()
RT.boolean();
功能:生成随机 ip
语法:RT.ip()
RT.ip();
功能:生成随机邮箱
语法:RT.email()
RT.email();
功能:生成随机日期
语法:RT.date( opt )
参数:
opt.minYear
最小年份(默认:1970)opt.maxYear
最大年份(默认:当前年份)opt.addZero
月份和天数为单数时自动在前面补零(默认:true)opt.format
格式化模式(默认:YYYY-MM-DD)
RT.date();
RT.date({
minYear: 1900,
maxYear: 2200,
format: "YYYY/MM/DD"
});
功能:生成随机时间
语法:RT.time( opt )
参数:
opt.minHour
最小小时(默认:0)opt.maxHour
最大小时(默认:23)opt.addZero
时分秒为单数时自动在前面补零(默认:true)opt.format
格式化模式(默认:hh:mm:ss)
RT.time();
RT.time({
format: "hh时mm分ss秒"
});
功能:生成随机日期时间
语法:RT.dateTime( opt )
参数:
opt.minYear
最小年份(默认:1970)opt.maxYear
最大年份(默认:当前年份)opt.minHour
最小小时(默认:0)opt.maxHour
最大小时(默认:23)opt.addZero
月日时分秒为单数时自动在前面补零(默认:true)opt.format
格式化模式(默认:YYYY-MM-DD hh:mm:ss)
RT.dateTime();
RT.dateTime({
minYear: 1900,
maxYear: 2200,
minHour:5,
maxHour:10,
format: "YYYY年MM月DD日 hh时mm分ss秒"
});
功能:生成随机颜色值(十六进制写法,如:#06a8ff)
语法:RT.hex()
RT.hex();
功能:生成随机颜色值(rgb 写法)
语法:RT.rgb()
RT.rgb();
功能:生成随机颜色值(rgb写法,包含透明度)
语法:RT.rgba()
RT.rgba();
功能:生成随机网络地址
语法:RT.url( opt )
参数:
opt.useHttps
使用 https 协议(默认:false)opt.showProtocol
显示协议(默认:true)opt.showWWW
显示 www(默认:true)opt.domainSuffix
域名后缀集合,多个后缀以逗号分隔(默认:com, cn, com.cn, net, net.cn, org, org.cn, info, cc, edu)
RT.url();
RT.url({
showProtocol: false,
domainSuffix: "com, com.cn, cn, net"
});
功能:生成随机图片(base64 编码形式)
语法:RT.image( opt )
参数:
opt.color
图片颜色(默认:#000)
RT.image({
color: "#09f"
});
功能:以数组的形式生成随机内容
语法:RT.array( length, function )
参数:
length
数据条数function
返回内容的函数
RT.array(10, function () {
return {
num: RT.number( 5 ),
id: RT.uuid()
}
})
RT.extend()
方法可以让开发者根据实际需要自定义返回的内容,从而应对千变万化的需求。
语法:RT.extend( obj )
参数:
obj
是一个纯对象,用来设置自定义的功能集合obj
对象中的键值(即:自定义方法)不能与内置方法同名,否则无效。
// 无效扩展,因为 RandomThing 已经内置了 RT.number() 方法
RT.extend({
number () {
return 0;
}
})
// 正确的扩展
RT.extend({
mine () {
return "自定义扩展方法";
}
})
console.log( RT.mine() );