Mock.js之Mock.Random(Basic)

一、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/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,699评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,124评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,127评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,342评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,356评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,057评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,654评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,572评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,205评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,343评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,015评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,704评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,196评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,690评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,348评论 2 358

推荐阅读更多精彩内容

  • 前端开发过程中免不了出现等接口的情况,而静态 JSON 不足以体现前端高大上的逼格,是时候拿出 mock.js 了...
    MrWelson阅读 1,784评论 0 0
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,399评论 0 5
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,463评论 0 13
  • 学习目的 ①开发时,后端还没完成数据输出,前端只好写静态模拟数据。数据牵制与后端,前端页面无法很好的展示,...
    _1633_阅读 4,566评论 0 24
  • 本次入川之行,从7月23日出发,到8月4日返回,共历时13天。 古人云,行万里路,读万卷书,交万千友。前两个“万”...
    一切来得及阅读 387评论 2 7