Mock.js之Mock.Random(Basic)
2019-11-18 本文已影响0人
Lia代码猪崽
一、Basics
1. Random.boolean(min, max, cur)
Random.boolean()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://mockjs.com/dist/mock.js"></script>
<script>
var bool = Mock.Random.boolean();
$('<pre>').text(JSON.stringify(bool, null, 4))
.appendTo('body')
</script>
</body>
</html>
结果1
结果2
Random.boolean(min, max, cur)
参数的含义和默认值如下所示:
- 参数 min:可选。指示参数 cur 出现的概率。概率计算公式为
min / (min + max)
。该参数的默认值为 1,即有 50% 的概率返回参数 cur。 - 参数 max:可选。指示参数 cur 的相反值(!cur)出现的概率。概率计算公式为
max / (min + max)
。该参数的默认值为 1,即有 50% 的概率返回参数 cur。 - 参数 cur:可选。可选值为布尔值 true 或 false。如果未传入任何参数,则返回 true 和 false 的概率各为 50%。该参数没有默认值,在该方法的内部,依据原生方法 Math.random() 返回的(浮点)数来计算和返回布尔值,例如在最简单的情况下,返回值是表达式
Math.random() >= 0.5
的执行结果。
使用示例如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://mockjs.com/dist/mock.js"></script>
<script>
var bool = Mock.Random.boolean(1, 9, true);
$('<pre>').text(JSON.stringify(bool, null, 4))
.appendTo('body')
</script>
</body>
</html>
结果1,2,3,4
结果5
2. Random.natural(min, max)
返回一个随机的自然数(大于等于 0 的整数)。
Random.natural()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://mockjs.com/dist/mock.js"></script>
<script>
var data = Mock.Random.natural()
$('<pre>').text(JSON.stringify(data, null, 4))
.appendTo('body')
</script>
</body>
</html>
结果1
结果2
Random.natural(min)
- 参数 min:可选。指示随机自然数的最小值。默认值为 0。
// 其他代码同上就省略了
var data = Mock.Random.natural(100000000000)
结果1
Random.natural(min, max)
参数的含义和默认值如下所示:
- 参数 min:可选。指示随机自然数的最小值。默认值为 0。
- 参数 max:可选。指示随机自然数的最小值。默认值为 9007199254740992。
var data = Mock.Random.natural(1, 10)
结果1
3. Random.integer(min, max)
返回一个随机的整数。
Random.integer()
var data = Mock.Random.natural()
结果1
Random.integer(min)
参数的含义和默认值如下所示:
- 参数 min:可选。指示随机整数的最小值。默认值为 -9007199254740992。
var data = Mock.Random.natural(100)
结果1
Random.integer(min, max)
参数的含义和默认值如下所示:
- 参数 min:可选。指示随机整数的最小值。默认值为 -9007199254740992。
- 参数 max:可选。指示随机整数的最大值。默认值为 9007199254740992。
var data = Mock.Random.natural(-100, 10)
结果1
4. Random.float(min, max, dmin, dmax)
返回一个随机的浮点数。
Random.float()
var data = Mock.Random.float()
结果1
Random.float(min)
- 参数 min:可选。整数部分的最小值。默认值为 -9007199254740992。
var data = Mock.Random.float(0)
结果1
Random.float(min, max)
- 参数 min:可选。整数部分的最小值。默认值为 -9007199254740992。
- 参数 max:可选。整数部分的最大值。默认值为 9007199254740992。
var data = Mock.Random.float(0, 100)
image.png
Random.float(min, max, dmin)
- 参数 min:可选。整数部分的最小值。默认值为 -9007199254740992。
- 参数 max:可选。整数部分的最大值。默认值为 9007199254740992。
- 参数 dmin:可选。小数部分位数的最小值。默认值为 0。
var data = Mock.Random.float(0, 100, 2)
结果1
Random.float(min, max, dmin, dmax)
- 参数 min:可选。整数部分的最小值。默认值为 -9007199254740992。
- 参数 max:可选。整数部分的最大值。默认值为 9007199254740992。
- 参数 dmin:可选。小数部分位数的最小值。默认值为 0。
- 参数 dmin:可选。小数部分位数的最大值。默认值为 17。
var data = Mock.Random.float(0, 100, 2, 4)
结果1
5. Random.character(pool)
返回一个随机字符。
Random.character()
var data = Mock.Random.character()
结果1
Random.character('lower/upper/number/symbol')
// 小写字母
var data = Mock.Random.character('lower')
结果1
// 大写字母
var data = Mock.Random.character('upper')
结果1
// 数字
var data = Mock.Random.character('number')
结果1
// 符号
var data = Mock.Random.character('symbol')
结果1
// 元音字母aeiou其中一个
var data = Mock.Random.character('upper')
结果1
6. Random.character(pool)
参数的含义和默认值如下所示:
-
参数 pool:可选。字符串。表示字符池,将从中选择一个字符返回。
- 如果传入
'lower'
或'upper'
、'number'
、'symbol'
,表示从内置的字符池从选取。 - 如果未传入该参数,则从
'lower' + 'upper' + 'number' + 'symbol'
中随机选取一个字符返回。
- 如果传入
// 注意:内置的字符池为
{
lower: "abcdefghijklmnopqrstuvwxyz",
upper: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
number: "0123456789",
symbol: "!@#$%^&*()[]"
}
使用示例如下所示:
Random.character()
// => "P"
Random.character('lower')
// => "y"
Random.character('upper')
// => "X"
Random.character('number')
// => "1"
Random.character('symbol')
// => "&"
Random.character('aeiou')
// => "u"
7. Random.string(pool, min, max)
返回一个随机字符串。
Random.string()
var data = Mock.Random.string()
结果1
Random.string( length )
// 长度
var data = Mock.Random.string(6)
结果1
Random.string( pool, length )
参数的含义和默认值如下所示:
- 参数 pool:可选。字符串。表示字符池,将从中选择一个字符返回。
- 如果传入
'lower'
或'upper'
、'number'
、'symbol'
,表示从内置的字符池从选取: - 如果未传入该参数,则从
'lower' + 'upper' + 'number' + 'symbol'
中随机选取一个字符返回。
- 如果传入
// 小写字母,长度
var data = Mock.Random.string('lower', 5)
结果1
Random.string( min, max )
参数的含义和默认值如下所示:
- 参数 min:可选。随机字符串的最小长度。默认值为 3。
- 参数 max:可选。随机字符串的最大长度。默认值为 7。
var data = Mock.Random.string(1, 6)
结果1
Random.string( pool, min, max )
参数的含义和默认值如下所示:
-
参数 pool:可选。字符串。表示字符池,将从中选择一个字符返回。
- 如果传入
'lower'
或'upper'
、'number'
、'symbol'
,表示从内置的字符池从选取: - 如果未传入该参数,则从
'lower' + 'upper' + 'number' + 'symbol'
中随机选取一个字符返回。
- 如果传入
-
参数 min:可选。随机字符串的最小长度。默认值为 3。
-
参数 max:可选。随机字符串的最大长度。默认值为 7。
var data = Mock.Random.string('upper', 5, 10)
结果1
8. Random.range(start, stop, step)
返回一个整型数组。
Random.range(stop)
参数的含义和默认值如下所示:
- 参数 stop:可选。数组中整数的结束值(不包含在返回值中)。
var data = Mock.Random.range(10)
结果
Random.range(start, stop)
参数的含义和默认值如下所示:
- 参数 start:必选。数组中整数的起始值。
- 参数 stop:可选。数组中整数的结束值(不包含在返回值中)。
var data = Mock.Random.range(2, 4)
结果
Random.range(start, stop, step)
参数的含义和默认值如下所示:
- 参数 start:必选。数组中整数的起始值。
- 参数 stop:可选。数组中整数的结束值(不包含在返回值中)。
- 参数 step:可选。数组中整数之间的步长。默认值为 1。
// 起始1,结束10,中间的跨度为2
var data = Mock.Random.range(1, 10, 2)
起始1,结束10,中间的跨度为2
// 起始1,结束10,中间的跨度为3
var data = Mock.Random.range(1, 10, 3)
起始1,结束10,中间的跨度为3
9. Random.date(format)
返回一个随机的日期字符串。
Random.date()
var data = Mock.Random.date()
结果1
Random.date(format)
参数的含义和默认值如下所示:
- 参数 format:可选。指示生成的日期字符串的格式。默认值为
yyyy-MM-dd
。可选的占位符参考自 Ext.Date,如下所示:
Format | Description | Example |
---|---|---|
yyyy | A full numeric representation of a year, 4 digits | 1999 or 2003 |
yy | A two digit representation of a year | 99 or 03 |
y | A two digit representation of a year | 99 or 03 |
MM | Numeric representation of a month, with leading zeros | 01 to 12 |
M | Numeric representation of a month, without leading zeros | 1 to 12 |
dd | Day of the month, 2 digits with leading zeros | 01 to 31 |
d | Day of the month without leading zeros | 1 to 31 |
HH | 24-hour format of an hour with leading zeros | 00 to 23 |
H | 24-hour format of an hour without leading zeros | 0 to 23 |
hh | 12-hour format of an hour without leading zeros | 1 to 12 |
h | 12-hour format of an hour with leading zeros | 01 to 12 |
mm | Minutes, with leading zeros | 00 to 59 |
m | Minutes, without leading zeros | 0 to 59 |
ss | Seconds, with leading zeros | 00 to 59 |
s | Seconds, without leading zeros | 0 to 59 |
SS | Milliseconds, with leading zeros | 000 to 999 |
S | Milliseconds, without leading zeros | 0 to 999 |
A | Uppercase Ante meridiem and Post meridiem | AM or PM |
a | Lowercase Ante meridiem and Post meridiem | am or pm |
T | Milliseconds, since 1970-1-1 00:00:00 UTC | 759883437303 |
var data = Mock.Random.date('yyyy-MM-dd')
年月日
var data = Mock.Random.date('yy-MM-dd')
年月日
var data = Mock.Random.date('yyyy-MM-dd hh:mm:ss')
年与日时分秒
10. Random.time(format)
返回一个随机的时间字符串。
Random.time()
var data = Mock.Random.time()
结果1
Random.time(format)
参数的含义和默认值如下所示:
- 参数 format:可选。指示生成的时间字符串的格式。默认值为
HH:mm:ss
。可选的占位符参考自 Ext.Date,请参见 Random.date(format)。
var data = Mock.Random.time('A HH:mm:ss')
大写上午或下午,时分秒
var data = Mock.Random.time('a HH:mm:ss')
小写上午或下午,时分秒
var data = Mock.Random.time('HH:mm:ss')
两位时分秒
var data = Mock.Random.time('H:m:s')
省去零的时分秒
11. Random.datetime(format)
返回一个随机的日期和时间字符串。
Random.datetime()
var data = Mock.Random.datetime()
结果1
Random.datetime(format)
参数的含义和默认值如下所示:
- 参数 format:可选。指示生成的日期和时间字符串的格式。默认值为
yyyy-MM-dd HH:mm:ss
。可选的占位符参考自 Ext.Date,请参见 Random.date(format)。
var data = Mock.Random.datetime('yyyy-MM-dd A HH:mm:ss')
年月日 大写上午或者下午 时分秒
var data = Mock.Random.datetime('yy-MM-dd a HH:mm:ss')
两位年份 月日 小写上午或者下午 时分秒
var data = Mock.Random.datetime('y-MM-dd HH:mm:ss')
两位数的年 月日 时分秒
var data = Mock.Random.datetime('y-M-d H:m:s')
两位数的年 月日 会省去0的时分秒
12. Random.now(unit, format)
返回当前的日期和时间字符串。
Random.now() 的实现参考了 (Moment.js)[http://momentjs.cn/docs/#/manipulating/start-of/]。
Ranndom.now(unit, format)
- 参数 format:可选。指示生成的日期和时间字符串的格式。默认值为
yyyy-MM-dd HH:mm:ss
。可选的占位符参考自 Ext.Date,请参见 Random.date(format)。
var data = Mock.Random.now('day', 'yyyy-MM-dd HH:mm:ss SS')
结果
Ranndom.now()
var data = Mock.Random.now()
结果
Ranndom.now(format)
- 参数 format:可选。指示生成的日期和时间字符串的格式。默认值为
yyyy-MM-dd HH:mm:ss
。可选的占位符参考自 Ext.Date,请参见 Random.date(format)。
var data = Mock.Random.now('yyyy-MM-dd HH:mm:ss SS')
结果
Ranndom.now(unit)
参数的含义和默认值如下所示:
- 参数 unit:可选。表示时间单元,用于对当前日期和时间进行格式化。可选值有:
year
、month
、week
、day
、hour
、minute
、second
、week
,默认不会格式化。
var data = Mock.Random.now('month')
只精确到月份