美文网首页MockJS
Mock.js之Mock.Random(Basic)

Mock.js之Mock.Random(Basic)

作者: Lia代码猪崽 | 来源:发表于2019-11-18 16:04 被阅读0次

一、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:可选。表示时间单元,用于对当前日期和时间进行格式化。可选值有:yearmonthweekdayhourminutesecondweek,默认不会格式化。
var data = Mock.Random.now('month')
只精确到月份

参考资料

http://mockjs.com/

相关文章

网友评论

    本文标题:Mock.js之Mock.Random(Basic)

    本文链接:https://www.haomeiwen.com/subject/bedbictx.html