Random工具函数和数据占位符定义
Mock.RandomMock.Random中的 Date方法Random.date() 随机一个日期Random.time() 随机一个时间Random.datetime() 随机一个日期+时间Random.now() 返回当前的日期和时间字符串
Mock.Random中的 Image方法Mock.Random.image() 在线图片生成Mock.Random.dataImage()
Mock.Random中的Color颜色方法Mock.Random中的Text文本里的方法Mock.Random.paragraph() 英文生成语句Random.cparagraph() 随机生成一段中文文本。Random.sentence() 随机生成一个英文句子,句子首字母大写Random.csentence() 随机生成一段中文文本Random.word() 随机生成一个英文单词Random.cword() 随机生成一个汉字Random.title() 随机生成一个英文标题Random.ctitle() 随机生成一句中文标题
Name 名字类里的方法Random.first() 随机生成一个常见的英文名Random.last() 随机生成一个常见的英文姓Random.name() 随机生成一个常见的英文`姓名`Random.cfirst() 随机生成一个常见的中文姓Random.clast( ) 随机生成一个常见的中文‘名’Random.cname() 随机生成一个常见的中文姓名
Web类里的方法Random.url() 随机生成一个 URLRandom.protocol() 随机生成一个 URL 协议Random.domain() 随机生成一个域名Random.tld() 随机生成一个顶级域名Random.email() 随机生成一个邮件地址Random.ip() 随机生成一个 IP 地址
Address 地址类里的方法,Random.region() 随机生成一个(中国)大区Random.province() 随机生成一个(中国)省(或直辖市、自治区、特别行政区)Random.city() 随机生成一个(中国)市Random.county() 随机生成一个(中国)县Random.zip() 随机生成一个邮政编码
Helper 帮助类里的方法,Random.capitalize() 把字符串的第一个字母转换为大写Random.lower() 把字符串转换为小写Random.pick() 从数组中随机选取一个元素Random.shuffle() 打乱数组中元素的顺序
Miscellaneous 其它类里的方法Random.guid()随机生成一个全球唯一标识符Random.id() 随机生成一个 18 位身份证
Mock.js 的语法规范:数据占位符定义规范扩展自定义占位符,Mock.Random.extend()
Mock.Random
Mock.Random 是一个工具类,用于生成各种随机数据。

Mock.Random中的 Date方法
这是 Mock.js 中用于生成随机「日期字符串」的核心方法之一,非常适合在模拟数据时使用,比如博客的创建时间、用户注册日期等
var Random = Mock.Random;
//2、Date 日期类里的方法,共4个
//Random.date() 随机一个日期
console.log(
Random.date(), //随机一个日期,如 2008-03-22
Random.date('yyyy-MM--dd : HH-m-ss'),
);
//Random.time() 随机一个时间
console.log(
Random.time(),
Random.time('A HH:mm:ss:SS'),
);
//Random.datetime() 随机一个日期+时间
console.log(
Random.datetime(),
);
//Random.now() 返回当前的日期和时间字符串
//week 定到这个周的第一天
console.log(
Random.now(),
Random.now('minute'),
);
Random.date() 随机一个日期
Random.date() 用来生成格式化的日期字符串(不包含时间部分)
"2024-03-15"
"03/15/2024"
"2024年3月15日"
它呢是日期类里的方法,没有传任何的参数,那就表示现在
Random.date()
随机出来一个日期,如 2008-03-29
它可以接收参数,那这个参数呢是一个format,这个format它其实是用来格式化这个日期的,我们看到啊,这个format,它可以传的参数有这么多,如下列出来了一张表,
Random.date()

Random.date('yyyy-MM--dd : HH-m-ss')年月日时分秒
如 2016-10--20 :02-2-43
Random.date()
// => "2002-10-23"
Random.date('yyyy-MM-dd')
// => "1983-01-29"
Random.date('yy-MM-dd')
// => "79-02-14"
Random.date('y-MM-dd')
// => "81-05-17"
Random.date('y-M-d')
// => "84-6-5"
Random.time() 随机一个时间
返回一个随机的时间字符串,不是 Date 对象,默认生成格式值为 。HH:mm:ss,如时间: 18:48:15
Random.time(),
"07:32:15"
"14:20:59"
"23:59:59"
//Random.time() 随机一个时间
console.log(
Random.time(), // 18:48:15 这个时间是随机出来的
Random.time('A HH:mm:ss:SS'),// PM 14:10:10:366,这个时间是随机出来的
);
中的参数 format 是可选的,用来指定输出的时间格式。如果不传,默认是 “HH:mm:ss”,参数如下表
Random.time(),
![图片[1] - Mock.JS第三方库——2. Random工具函数和数据占位符定义 - 鹿快](https://img.lukuai.com/blogimg/20251111/9490ec47f721429ba38e7885c40edb49.png)
注意:没有 AM/PM 标记,比如不能自动输出 “02:30:15 PM”,但你可以手动拼接。
// 默认格式:HH:mm:ss
Mock.Random.time();
// 输出:"14:23:56"
// 自定义格式
Mock.Random.time("HH:mm");
// 输出:"08:30"
Mock.Random.time("hh:mm:ss A");
// 输出:"03:20:15 PM" ← 注意:A 不会被自动替换为 AM/PM!
Random.datetime() 随机一个日期+时间
这是 Mock.js 中最常用的时间生成方法之一,用于随机生成一个“日期 + 时间”的字符串,非常适合模拟文章发布时间、用户注册时间等场景。
Mock.Random.datetime()
"2024-03-15 14:30:22"
"2024/06/23 08:45"
"2024年3月15日 14时30分22秒"
Random.datetime()
// =>随机 "1977-11-17 03:50:15"
Random.datetime('yyyy-MM-dd A HH:mm:ss')
// => 随机"1976-04-24 AM 03:48:25"
Random.datetime('yy-MM-dd a HH:mm:ss')
// => 随机"73-01-18 pm 22:12:32"
Random.datetime('y-MM-dd HH:mm:ss')
// => 随机"79-06-24 04:45:16"
Random.datetime('y-M-d H:m:s')
// =>随机 "02-4-23 2:49:40"
Mock.Random.datetime("yyyy年MM月dd日 HH时mm分ss秒");
// → "2024年03月15日 14时30分22秒"
//Random.datetime() 随机一个日期+时间
console.log(
Random.datetime(), //随机生成的日期带时间 2004-04-12 17:06:04
);
Random.now() 返回当前的日期和时间字符串
Mock.Random.now() 用来获取当前时间的字符串(而不是随机时间),非常适合模拟“实时发布”、“刚刚创建”的场景。Mock.Random.now() 它返回的是 调用时刻的真实日期和时间字符串,不是随机的,而是“此刻”的时间

这里的表示时间单位,用于对当前日期和时间进行格式化。可选值有year,month,week,day,hour,minute,second,week,
单位
单位的作用就是把 **当前时间** “拍扁”到它所属的那个“时间段”的第一个瞬间。
![图片[2] - Mock.JS第三方库——2. Random工具函数和数据占位符定义 - 鹿快](https://img.lukuai.com/blogimg/20251111/9a1305be7ec845849ea6066fcb2330cb.png)
注意:week 默认以 星期一为每周的第一天(符合 ISO 标准),不是周日。
假设现在是:
📅 2024年6月23日 星期日
🕒 14:35:27

//Random.now() 返回当前的日期和时间字符串
//week 定到这个周的第一天
console.log(
Random.now(),
Random.now('minute'),
);
Random.now()
// => "2014-04-29 20:08:38 " 当前时间
Random.now('day', 'yyyy-MM-dd HH:mm:ss SS')
// => "2014-04-29 00:00:00 000"
Random.now('day')
// => "2014-04-29 00:00:00 "
Random.now('yyyy-MM-dd HH:mm:ss SS')
// => "2014-04-29 20:08:38 157"
Random.now('year')
// => "2014-01-01 00:00:00"
Random.now('month')
// => "2014-04-01 00:00:00"
Random.now('week')
// => "2014-04-27 00:00:00"
Random.now('day')
// => "2014-04-29 00:00:00"
Random.now('hour')
// => "2014-04-29 20:00:00"
Random.now('minute')
// => "2014-04-29 20:08:00"
Random.now('second')
// => "2014-04-29 20:08:38"
Mock.Random中的 Image方法
Mock.Random.image() 在线图片生成
Mock.Random.image() 这是 Mock.js 中最常用、最实用的图片生成方法之一,特别适合在前端开发中快速生成占位图(Placeholder Images)用于模拟数据。
Mock.Random.image() 它是一个 Mock.js 提供的方法,用来生成一个在线图片 URL,这个图片通常是一个:矩形色块,带有文字(默认是尺寸),背景和文字颜色可自定义,尺寸可指定
图片如下

本质:返回的是一个指向 http://dummyimage.com 或类似服务的链接地址, 不是真实上传的图片,只是随便的一张图片地址,访问这个地址是可以看到图片的,只是一个“看起来像”的占位图。

//3、Image 图片类里的方法,花2个
//Random.image() 生成一个随机的图片地址
console.log(
Random.image(), ///默认生成格式随机的一个图片地址连接:http://dummyimag.com/234x60
Random.image('200x100'),
Random.image('200x100', '#ffcc33', '#FFF', 'png', 'kaivon'),
);
//Random.dataImage() //生成一段随机的 Base64 图片编码
console.log(
//Random.dataImage(),
Random.dataImage('200x100'),
)
Random.image()
// => "http://dummyimage.com/125x125"
Random.image('200x100')
// => "http://dummyimage.com/200x100"
Random.image('200x100', '#fb0a2a')
// => "http://dummyimage.com/200x100/fb0a2a"
Random.image('200x100', '#02adea', 'Hello')
// => "http://dummyimage.com/200x100/02adea&text=Hello"
Random.image('200x100', '#00405d', '#FFF', 'Mock.js')
// => "http://dummyimage.com/200x100/00405d/FFF&text=Mock.js"
Random.image('200x100', '#ffcc33', '#FFF', 'png', '!')
// => "http://dummyimage.com/200x100/ffcc33/FFF.png&text=!"
Random.image('200x100', '#ffcc33', '#FFF', 'png', '!')
生成图片地址: “http://dummyimage.com/200×100/ffcc33/FFF.png&text=!”
![图片[3] - Mock.JS第三方库——2. Random工具函数和数据占位符定义 - 鹿快](https://img.lukuai.com/blogimg/20251111/98b6b0b869dc4edca7aac797e552c644.png)
Random.image('200x100', '#00405d', '#FFF', 'Mock.js')
生成图片地址: “http://dummyimage.com/200×100/00405d/FFF&text=Mock.js”

Mock.Random.dataImage()
![图片[4] - Mock.JS第三方库——2. Random工具函数和数据占位符定义 - 鹿快](https://img.lukuai.com/blogimg/20251111/7f4a5fd22a05406abf42e2120aaa9e50.png)
它是一个 本地生成的图片方法,与 Mock.Random.image() 不同,
Mock.Random.dataImage() ,
dataImage() 返回的是一个 Base64 编码的 PNG 图片字符串(即 Data URL),不支持自定义颜色或格式所以背景颜色也是随机的
典型返回值示例:
Mock.Random.dataImage()
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAACfUlEQVR4AezBAQ0AAADCoPdPbQ43oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH8GMCsAAa+XbeAAAAAASUVORK5CYII="
你可以把这个字符串直接用在 < img src=“…”> 或 CSS 的 background-image 中,无需网络请求!
如下是的参数
Mock.Random.dataImage() 的参数池,
大小
默认情况下 "大小" 这一参数的值会从它的参数池中随机一个尺寸
![图片[5] - Mock.JS第三方库——2. Random工具函数和数据占位符定义 - 鹿快](https://img.lukuai.com/blogimg/20251111/e0668800392b411ea9171925ed43e806.png)
指示图片上的文字在没设定的情况下,显示的是默认值为参数 size。
Random.dataImage()
// => "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAYAAACPgGwlAAAFJElEQVR4Xu2dS0hUURzG/1Yqlj2otJe10AqCoiJaFFTUpgcUhLaKCIogKCEiCl0U1SIIF1EIQlFEtCmkpbWSHlAQYRYUlI9Ie6nYmI9hfIx1LpzL3PGO/aeuM/r/f7PRufe7d873/ea75xw3ZjTumDtMeKlKIAPQVfF2zAK6PuaArpA5oAO6xgQUesacDugKE1BoGU0HdIUJKLSMpgO6wgQUWkbTAV1hAgoto+mArjABhZbRdEBXmIBCy2g6oCtMQKFlNB3QFSag0DKaDugKE1BoGU0HdIUJKLSMpgO6wgQUWkbTAV1hAgoto+mArjABhZbRdEBXmIBCy2g6oCtMQKFlNB3QFSag0DKaDugKE1BoGU0HdIUJKLSMpgO6wgQUWkbTAV1hAgoto+mArjABhZbRdEBXmIBCy2g6oCtMQKFlNB3QFSag0DKaDugKE1BoGU0HdIUJKLQ8bpo+fft+ylxYSJ23LvpisOfNST/N7ENniYa9/0xy4GsTdT+6+09Yx9t4/slEgovSDt2EO3P3YcoqWuUMsWln3oihFlTWUlbhSvf4UKid2iqOUfhVrXussKZ9xHXh10/oW1lxUnmNt/EkNXimOK3QTTtn7Sv1DDUees66rTT/3B0a/NFCvc9raOqf9+YL0PfiIX0/f8ADPdrXTZEPde6xyMd66rx5wXlvnwThN8/cL4ttc7S3i0L3rjqaVI2HyWdMZGmFbhwtvv7cgZm7ZS9NyS/wbboBb1ttwQy2tdLng2s90OOPxSa24FI15azZTAOtDdRyZAOZe84ru0GTps2g0P1r7pcjVeMZE5rMm6Yduh3nktt1CaHHesk/XUW5W4sp8v4lfTm5ywN9eCBCQz/baOBLE0Ua3rgg4z/DPCUmz5xD2SvWU6IpIBXjYTIKXDahoNtHvUmho/KMZ5HmN6f31FZT2+Wjbmix12dkZtNoTwYO9P8dT+A0mTecMNBNwPmnKmnyrDyKhxnv1U4B0d5f9KmkyHPaPinMwfYrJxKu7v8GPajxMDkFKpsQ0JMJ2KZjmm8e9817CjxNt/O4Odjf+JZaj2/zDXQ06EGNJ1CSSdws7dDNAsvsr7OXr3UWVeG6x87wv5WXOD9jAzZbtf7md669nscP3KbOLa2gaE+Xc27axl2UWbB0xLxvFmnmuJnTzU/7e+wuIJXjSYJToNK0Q/ebi41Du3Xz20bZBGJX3fH3Mav0jqpyd9Xvt3o3W0Ezt492H/tZQY8nUIpJ3izt0J39s8/L7q9N03NWb/LVhOuferZyWYuX0WDnD2evHv+XOPs5sdc4+/RFRX+eECFnn25eqRpPkpwClacdeqBucDNWAoDOikmWCNBl8WS5AXRWTLJEgC6LJ8sNoLNikiUCdFk8WW4AnRWTLBGgy+LJcgPorJhkiQBdFk+WG0BnxSRLBOiyeLLcADorJlkiQJfFk+UG0FkxyRIBuiyeLDeAzopJlgjQZfFkuQF0VkyyRIAuiyfLDaCzYpIlAnRZPFluAJ0VkywRoMviyXID6KyYZIkAXRZPlhtAZ8UkSwTosniy3AA6KyZZIkCXxZPlBtBZMckSAbosniw3gM6KSZYI0GXxZLkBdFZMskSALosnyw2gs2KSJQJ0WTxZbgCdFZMsEaDL4slyA+ismGSJAF0WT5YbQGfFJEsE6LJ4stwAOismWSJAl8WT5QbQWTHJEgG6LJ4sN4DOikmWCNBl8WS5AXRWTLJEgC6LJ8sNoLNikiUCdFk8WW4AnRWTLNFvXskYA3TG3JwAAAAASUVORK5CYII="
Random.dataImage('200x100')
// => "data:image/png;base64,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"
Random.dataImage('200x100', 'Hello Mock.js!')
// => "data:image/png;base64,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"
Mock.Random中的Color颜色方法
//Color 颜色类里的方法,共5个
//Random.color() 随机一个16进制的颜色
console.log(
Random.color(),// 随机生成一个颜色值 #f279a1
);
//Random.hex()
console.log(
Random.hex(), // 随机生成一个颜色值 #f279b3,【和 Random.color()的结果是一样的,没区别】
);
//Random.rgb()
console.log(
Random.rgb(), //随机生成一个rgb格式的颜色, "rgb(242, 198, 121)"
);
//Random.rgba()
console.log(
Random.rgba(), //随机生成一个rgba格式的颜色 ,"rgba(242, 198, 121, 0.13)"
);
//Random.hsl()
console.log(
Random.hsl(), //随机生成一个hsl格式(色相、饱和度、亮度)的颜色,"hsl(345, 82, 71)"
);
Mock.Random中的Text文本里的方法
这些方法是 生成逼真测试数据的核心工具,特别适合在前端开发中模拟:用户评论,文章内容,商品描述,新闻列表,聊天消息
//5、Text 文本类里的方法,共8个
//Random.paragraph() 随机生成一段文本
console.log(Random.paragraph()); //随机生成语句
console.log(Random.paragraph(2));
console.log(Random.paragraph(1, 3));
//Random.cparagraph() 随机生成一段中文文本。
console.log(Random.cparagraph());
console.log(Random.cparagraph(2));
console.log(Random.cparagraph(1, 3));
//Random.sentence() 随机生成一个句子,句子首字母大写
console.log(Random.sentence());
console.log(Random.sentence(5));
console.log(Random.sentence(1, 5));
//Random.csentence() 随机生成一段中文文本
console.log(Random.csentence());
console.log(Random.csentence(5));
console.log(Random.csentence(1, 5));
//Random.word() 随机生成一个单词
console.log(Random.word());
console.log(Random.word(5));
console.log(Random.word(1, 5));
//Random.cword() 随机生成一个汉字
console.log(Random.cword());
console.log(Random.cword(5));
console.log(Random.cword(1, 5));
console.log(Random.cword('零一二三四五六七八九十', 3));
console.log(Random.cword('零一二三四五六七八九十', 5, 7));
//Random.title() 随机生成一个标题
console.log(Random.title());
console.log(Random.title(3));
console.log(Random.title(1, 5));
//Random.ctitle() 随机生成一句中文标题
console.log(Random.ctitle());
console.log(Random.ctitle(3));
console.log(Random.ctitle(1, 5));
Mock.Random.paragraph() 英文生成语句
Random.paragraph( )
Random.paragraph( length ) 【传入固定值】
Random.paragraph( 最小值, 最大值 )【随机句子数量在:最小值—最大值 ,之间,默认最小值是3,最大值是7】
Random.paragraph()
// => "Yohbjjz psxwibxd jijiccj kvemj eidnus disnrst rcconm bcjrof tpzhdo ncxc yjws jnmdmty. Dkmiwza ibudbufrnh ndmcpz tomdyh oqoonsn jhoy rueieihtt vsrjpudcm sotfqsfyv mjeat shnqmslfo oirnzu cru qmpt ggvgxwv jbu kjde. Kzegfq kigj dtzdd ngtytgm comwwoox fgtee ywdrnbam utu nyvlyiv tubouw lezpkmyq fkoa jlygdgf pgv gyerges wbykcxhwe bcpmt beqtkq. Mfxcqyh vhvpovktvl hrmsgfxnt jmnhyndk qohnlmgc sicmlnsq nwku dxtbmwrta omikpmajv qda qrn cwoyfaykxa xqnbv bwbnyov hbrskzt. Pdfqwzpb hypvtknt bovxx noramu xhzam kfb ympmebhqxw gbtaszonqo zmsdgcku mjkjc widrymjzj nytudruhfr uudsitbst cgmwewxpi bye. Eyseox wyef ikdnws weoyof dqecfwokkv svyjdyulk glusauosnu achmrakky kdcfp kujrqcq xojqbxrp mpfv vmw tahxtnw fhe lcitj."
Random.paragraph(2) //随机生成2-7段英语句子
// => "Dlpec kvukg dqubvqn xqbmoda. Vdkceijr pybap kwbofwg uuwn rvoxti ydpeeerf."
Random.paragraph(1, 3)//随机生成1-3段英语句子
// => "Qdgfqm puhxle twi lbeqjqfi bcxeeecu pqeqr srsx tjlnew oqtqx zhxhkvq pnjns eblxhzzta hifj csvndh ylechtyu."
Mock.Random.paragraph() 它是一个用来 随机生成一段英文段落(paragraph)的工具函数,英文段落由多个句子组成,自动首字母大写、加标点,语法自然,接近真实文章。
Mock.Random.paragraph()不传参数的情况下自动生成 3~7 句的随机段落,自动生成一个自然流畅的英文段落,每句以 . 结尾,首字母大写。
Mock.Random.paragraph()
输出示例:
Hello world this is a test sentence.
The front end development is very interesting.
We can use mock data to simulate real content.
This paragraph has five sentences on average.
You can control the length if needed.
Random.cparagraph() 随机生成一段中文文本。
它是一个用来 随机生成一段中文段落的函数,由多个自然流畅的中文句子组成,自动加句号结尾,长度可控,语义接近真实文章内容。
Random.cparagraph()
Random.cparagraph()不传参数 时默认自动生成 3~7 句的随机段落,最小值参数默认是3,最大值参数默认是7
Random.cparagraph()
Random.cparagraph( length)【传入固定值】
Random.cparagraph( 最小值,最大值 )【随机句子数量在:最小值—最大值 ,之间】
Random.cparagraph()//默认生成3-7句话
// => "给日数时化周作少情者美制论。到先争劳今已美变江以好较正新深。族国般建难出就金感基酸转。任部四那响成族利标铁导术一或已于。省元切世权往着路积会其区素白思断。加把他位间存定国工取除许热规先法方。"
Random.cparagraph(2) 【随机生 2 ~ 7 句之间的随机段落。】
// => "去话起时为无子议气根复即传月广。题林里油步不约认山形两标命导社干。"
Random.cparagraph(1, 3) 【随机生成1-3句话】
// => "候无部社心性有构员其深例矿取民为。须被亲需报每完认支这明复几下在铁需连。省备可离展五斗器就石正队除解动。"
Random.sentence() 随机生成一个英文句子,句子首字母大写
它是一个用来 随机生成一个英文句子(sentence)的函数,由多个英文单词组成,,并以句号 . 结尾。
句子自动首字母大写
在不传参数时候 , 使用默认范围(12~18 个单词)注意:返回的是一个完整的英文句子字符串,如 “Hello world. This is a test sentence.”,
Random.sentence()
Random.sentence( )
Random.sentence( length )只传一个参数 视为最小值,最大值仍为默认 18
Random.sentence( 最小值, 最大值 )
随机生成一个句子,第一个单词的首字母大写。
Mock.Random.sentence()
输出示例:
"This is a simple test sentence for mock data."
自动生成一个长度在 12 到 18 个单词之间的英文句子,首字母大写,末尾加 .
Mock.Random.sentence(5) 等价于 Mock.Random.sentence(5, 18)
生成一个 5 ~ 18 个单词 的句子。
❗注意:这不是“固定 5 个单词”,而是“最少 5 个,最多 18 个”
Mock.Random.sentence(6, 10) 传两个参数是为了精确控制单词数量范围
Random.csentence() 随机生成一段中文文本
它是一个用来 随机生成一个中文句子(sentence)的函数,由多个汉字组成,自动以句号 。 结尾,读起来接近真实语言习惯。自动生成一个长度在 12 到 18 个汉字之间的中文句子,语义通顺,适合做内容填充。
Mock.Random.csentence()
参数详解与使用示例
不传参数 使用默认范围(12~18 个汉字),默认参数最小值为12,默认参数最大值为18
Mock.Random.csentence()
Random.csentence()
Random.csentence( length)
Random.csentence( 最小值, 最大值 )
随机生成一段中文文本。
Mock.Random.csentence()
输出示例:
这是一个关于前端技术的分享文章。
自动生成一个长度在 12 到 18 个汉字之间的中文句子,语义通顺,适合做内容填充。
Mock.Random.csentence(10) 等价于:Mock.Random.csentence(10, 18)
👉 生成一个 10 ~ 18 个汉字 的句子。
❗注意:这不是 “固定 10 个字”,而是“最少 10 个,最多 18 个”
Random.word() 随机生成一个英文单词
它是一个用来 随机生成一个英文“单词”(word)的函数,由小写字母 a-z 组成,长度随机,默认在 3~10 个字符之间。
Mock.Random.word()
📌 注意:它不是从真实词典中取词(如 “hello”、“world”),而是随机拼接字母生成的“类单词”字符串,比如 “kdoq”、“xpttr”,看起来像单词,但大多数不是真实存在的英文单词。
返回值是一个全小写的字母组成的字符串,如 “abc”、“javascript” 等,不传参数 的话使用默认范围(3~10 个字母)
Mock.Random.word()
Random.word()
Random.word( length )
Random.word( 最小值, 最大值 )
随机生成一个单词。
Mock.Random.word()
输出示例:
"hello"
"apple"
"kdoq"
"xpttr"
"test"
随机生成一个长度为 3 到 10 的“类单词”。
偶尔会碰巧生成真实单词(如 test, code),但这只是巧合,并非设计目的。
Random.cword() 随机生成一个汉字
Random.cword()
Random.cword( 池 )
Random.cword( 长度 )
Random.cword( 池, 长度 )
Random.cword( 最小值, 最大值 )
Random.cword( 池,最小值,最大值 )
随机生成一个汉字。
它是一个用来 随机生成一个汉字或中文词语的函数,默认从一组常用汉字中随机选取,常用于构建中文句子、段落、标题等内容。不传参数默认随机返回一个常用汉字
Mock.Random.cword()
Mock.Random.cword() 不传参数默认随机返回一个常用汉字
Mock.Random.cword()
输出示例:
"人"
"好"
"学"
"技"
"发"
"前"
从内置的常用汉字库中随机选一个字,默认长度为 1。
内置汉字库包含约 7000 个常用汉字(如 GB2312 范围),足够日常使用。
Mock.Random.cword('前端开发工程师')。传一个字符串从指定字符池中选一个字
输出结果:
可能是 "前"、"端"、"开"、"发"、 "工"、"程"、"师"中的任意一个。
适用于:你想限定只从某些字中取值。
Mock.Random.cword(['HTML', 'CSS', 'JavaScript', 'Vue', 'React'])传一个数组从指定词语列表中随机选一个词
输出示例:
"Vue"
"JavaScript"
"CSS"
Mock.Random.cword('人工智能', 2, 4):传三个参数,自定义字符池 + 控制长度
效果:
从 "人工智能" 这四个字中,随机拼接出一个长度为 2~4 的字符串
可能输出:"人工"、"智能"、"人工智"、"能人"、"智人工" 等
注意:它是随机拼接,不是语义组合,所以可能出现无意义组合
Random.cword()
// => "干"
Random.cword('零一二三四五六七八九十')
// => "六"
Random.cword(3)
// => "别金提"
Random.cword('零一二三四五六七八九十', 3)
// => ""七七七""
Random.cword(5, 7)
// => "设过证全争听"
Random.cword('零一二三四五六七八九十', 5, 7)
// => "九七七零四"
Random.title() 随机生成一个英文标题
它是一个用来 随机生成一个“英文标题”的函数,由多个英文单词组成,每个单词首字母大写不带标点符号,语义接近真实内容标题。
Mock.Random.title()
Random.title()
Random.title(length)
Random.title( 最小值, 最大值 )
随机生成一句标题,其中每个单词的首字母大写。
返回值是一个所有单词首字母大写的字符串,如 “Web Development Guide”,不传参数使用默认范围(3~7 个单词)
Mock.Random.title()
Mock.Random.title()不传参数使用默认范围(3~7 个单词)
输出示例:
"Frontend Engineering Practice"
"User Experience Design Tips"
"Modern JavaScript Frameworks"
"Cloud Computing Solutions"
自动生成一个长度为 3 到 7 个单词之间的英文标题,适合做文章或项目标题。
Mock.Random.title(5) 。只传一个参数 —— 视为最小值,最大值仍为默认 7
等价于:Mock.Random.title(5, 7)
生成一个 5 ~ 7 个单词 的标题。
❗注意:这不是“固定 5 个单词”,而是“最少 5 个,最多 7 个”
Mock.Random.title(2, 4)传两个参数,精确控制单词数量范围
输出示例:
"API Integration Guide"
"Mobile App Development"
"Data Security Basics"
保证生成的标题有 2 到 4 个单词,适合做简短有力的标题。
Random.ctitle() 随机生成一句中文标题
它是一个用来 随机生成一个“中文标题”的函数,由多个汉字组成,长度适中,语义接近真实中文表达,读起来像一篇公众号文章、新闻报道或技术博客的标题。
Mock.Random.ctitle()
返回值是一个无标点符号的中文字符串,如 “前端工程师成长之路”。
Mock.Random.ctitle()
Random.ctitle( )
Random.ctitle( length )
Random.ctitle( 最小值, 最大值 )
随机生成一句中文标题
Random.ctitle()
// => "证构动必作"
Random.ctitle(5)
// => "应青次影育"
Random.ctitle(3, 5)
// => "出料阶相"
Mock.Random.ctitle()不传参数使用默认范围(3~7 个汉字)
Mock.Random.ctitle()
输出示例:
人工智能发展
用户体验设计
前端技术分享
数据安全基础
互联网趋势分析
自动生成一个长度为 3 到 7 个汉字之间的中文标题,适合做简短有力的内容标题。
Mock.Random.ctitle(5)只传一个参数,视为最小值,最大值仍为默认 7
Mock.Random.ctitle(5)
等价于:Mock.Random.ctitle(5, 7)
👉 生成一个 5 ~ 7 个汉字 的标题。
❗注意:这不是“固定 5 个字”,而是“最少 5 个,最多 7 个”
Mock.Random.ctitle(8, 15)传两个参数,精确控制标题长度
输出示例:
前端工程师的成长路径分析
大数据时代的隐私保护策略
如何提升移动端用户体验
全栈开发入门指南教程
适合生成更长、更具信息量的标题,常用于文章、报告、课程命名。
Name 名字类里的方法
概述:Mock.js 的 Name 模块,在 Mock.js 中,
Mock.Random.name 相关的方法主要用于:
生成英文名字(如 John Smith)
生成中文名字(如 张伟)
分解为姓氏、名字部分,便于灵活组合
这些方法都基于真实常见的姓名库,生成的结果非常贴近现实,适合做高保真 mock 数据。
Random.first() 随机生成一个常见的英文名
它是一个 随机生成常见英文“名字”(first name)的方法,返回值如 “John”、“Sarah”、“Michael” 等,都是现实中广泛使用的真实英文名。
Mock.Random.first()
注意:它只生成“名”,不包含姓氏,名字首字母大写,符合英文命名规范
返回值是一个字符串,表示一个英文“名”,例如 “Emily”、“David”
Mock.Random.first()
Mock.Random.first()基础用法,随机返回一个英文名
输出示例(每次执行结果不同):
"James"
"Jennifer"
"Robert"
"Linda"
"William"
"Elizabeth"
"David"
"Maria"
"Lisa"
"Paul"
自动生成一个真实存在的英文名字,男女名字混合出现,分布接近现实人口统计。
Random.last() 随机生成一个常见的英文姓
它是一个 随机生成常见英文“姓氏”
Mock.Random.last()
(last name )的方法,返回值如 “Smith”、“Johnson”、“Williams” 等,都是现实中高频出现的真实姓氏。
返回值是一个字符串,表示一个英文“姓氏”,例如 “Wilson”、“Moore”
Mock.Random.last()
Mock.Random.last() 基础用法 —— 随机返回一个英文姓氏
输出示例(每次执行结果不同):
text
"Smith"
"Johnson"
"Williams"
"Jones"
"Brown"
"Miller"
"Wilson"
"Garcia"
"Martinez"
"Robinson"
所有姓氏均来自现实世界高频姓氏榜单,真实性极高。
Random.name() 随机生成一个常见的英文
姓名
姓名
它是一个 随机生成“完整的英文姓名”(Full Name)的方法,格式为:“FirstName LastName”,例如 “John Smith”、“Emily Johnson”。
Mock.Random.name()
核心特点: 自动生成 名(first name)+ 姓(last name),
所有名和姓均来自真实高频英文姓名库
返回字符串,中间用空格分隔
首字母大写,符合英文书写规范
不需要任何参数,开箱即用
返回值是一个字符串,表示一个完整的英文姓名,如 “Robert Jones”
Mock.Random.name()
Mock.Random.name()基础用法:随机返回一个英文全名
输出示例(每次执行结果不同):
text:
"John Smith"
"Jennifer Johnson"
"William Williams"
"Elizabeth Brown"
"Richard Davis"
"Charles Miller"
自动组合一个真实存在的“名”和一个真实存在的“姓”,读起来非常自然。
Random.cfirst() 随机生成一个常见的中文姓
它是一个 随机生成常见中文“姓氏”(surname / family name)的方法,返回值如 “李”、“王”、“张” 等单字姓,都是现实中高频出现的中国姓氏。
Mock.Random.cfirst()
核心特点:只生成“姓”,不包含“名”,来源于中国最常见姓氏库(类似“百家姓”前100位)
Mock.Random.cfirst():基础用法 :随机返回一个中文姓
输出示例(每次执行结果不同):
text
"张"
"李"
"王"
"刘"
"陈"
"杨"
"周"
"吴"
"徐"
"孙"
所有姓氏均来自中国人口统计中最常见的前20~50个大姓,覆盖了绝大多数中国人。
Random.clast( ) 随机生成一个常见的中文‘名’
随机生成一个常见的“中文‘名’”
Mock.Random.clast( )
它用于 随机生成一个常见的中文“名字”部分(given name / personal name) ,比如 “伟”、“芳”、“志强”、“晓燕” 等。返回的是“名”,不是“姓”,通常为 1~2 个汉字
返回值是一个字符串,表示一个中文“名字”,如 “敏”、“浩然”
Mock.Random.clast( )
Mock.Random.clast():基础用法 —— 随机返回一个中文“名”
输出示例:
text
"伟"
"婷"
"磊"
"雪"
"俊杰"
"思雨"
"博文"
"宇轩"
这些名字都来自现实中高频使用的中文名字库。
Random.cname() 随机生成一个常见的中文姓名
它是一个 随机生成“完整的中文姓名”的方法,格式为:“姓” + “名”,例如 “张伟”、“李娜”、“王志强”。
Mock.Random.cname()
核心特点:自动生成 姓(family name)+ 名(given name)
所有姓和名均来自现实中高频使用的中文姓名库
返回字符串,符合中国人命名习惯
首字是“姓”,后续是“名”(通常1~2个汉字)
不需要任何参数,开箱即用
返回值是一个字符串,表示一个完整的中文姓名,如 “周晓燕”
Mock.Random.cname()
Mock.Random.cname()基础用法 —— 随机返回一个中文全名
输出示例(每次执行结果不同):
text
"张伟"
"李娜"
"王强"
"刘洋"
"陈静"
"杨子涵"
"黄志勇"
"吴思雨"
自动组合一个真实存在的“姓”和一个常见“名”,读起来非常自然,极具真实感。
Web类里的方法
在 Mock.js 的语境中,“Web类” 指的是那些与 Web 应用开发密切相关 的数据生成方法,主要包括:
“Web类” 方法

Random.url() 随机生成一个 URL
它是一个 随机生成标准 URL 的方法,返回值如:
Mock.Random.url()
text
"http://example.org/index.html"
"https://www.google.com/search?q=mockjs"
"ftp://files.example.net/download.zip"
核心特点:
自动生成协议(protocol)、域名(domain)、路径(path)
符合真实互联网 URL 结构
可指定协议类型(如 http、https、ftp 等)
返回字符串,可直接用于 href、API 接口、日志记录等
Mock.Random.url()
Mock.Random.url (协议, 主机 )
随机生成一个 URL。
示例 1:
Mock.Random.url() 基础用法 —— 随机生成任意 URL
输出示例(每次执行结果不同):
text
"http://example.org/index.html"
"https://www.google.com/search"
"ftp://files.net/file.zip"
"telnet://admin:pass@server.com:23/"
包含各种常见协议和结构,极具真实性
示例 2:
Mock.Random.url('https') 指定协议为 https
输出示例:
text
"https://example.com/home"
"https://google.net/images"
"https://microsoft.org/login"
💡 非常适合现代 Web 应用 mock 数据,强调安全性。
示例 3:
js
Mock.Random.url('https', 'mycompany.com') 指定域名(host)
输出示例:
text
"https://mycompany.com/about"
"https://mycompany.com/api/users"
"https://mycompany.com/dashboard"
👉 这是构建企业级 mock 接口最常用的方式!
Random.protocol() 随机生成一个 URL 协议
它是一个 随机生成常见网络协议名称 的方法,返回值如:
Mock.Random.protocol()
text:
"http"
"https"
"ftp"
"mailto"
"tel"
核心特点:只返回“协议名”,不包含 : 来源于真实互联网常用协议库
//
返回值是一个小写字符串,表示一个协议名称,例如 “https”
Mock.Random.protocol()
Mock.Random.protocol() :基础用法 —— 随机返回一个协议
输出示例(每次执行结果不同):
text
"http"
"https"
"ftp"
"ftps"
"mailto"
"tel"
"file"
"ws"
"wss"
这些协议都来自现实世界中广泛使用的标准。
Random.domain() 随机生成一个域名
它是一个 随机生成完整域名 的方法,返回值如:
Mock.Random.domain()
text
"example.com"
"google.net"
"microsoft.org"
"apple.co.uk"
核心特点:
自动生成「二级域名 + 顶级域名」结构
所有数据来自真实常见的域名库
返回字符串,可直接用于拼接 URL、构造接口地址
不依赖外部网络,纯前端运行
返回值是一个小写字符串,表示一个完整的域名,例如 “example.com”
Mock.Random.domain()
Mock.Random.domain() 基础用法 —— 随机返回一个域名
输出示例(每次执行结果不同):
text
"example.com"
"google.net"
"microsoft.org"
"apple.co.uk"
"facebook.io"
"vuejs.dev"
"mockjs.cn"
"blog.tech"
这些域名虽然不一定真实存在,但格式完全符合标准,极具真实感
Random.tld() 随机生成一个顶级域名
:它是一个 只生成“顶级域名”部分 的方法,返回值如:
Mock.Random.tld()
text
"com"
"net"
"org"
"cn"
"io"
"dev"
核心特点:
只返回域名的“后缀”部分(即最后一段)
来源于现实中广泛使用的顶级域名库
返回值是一个小写字符串,表示一个顶级域名(不带点),例如 “com” 而不是 .com
Mock.Random.tld()
Mock.Random.tld() 基础用法 —— 随机返回一个顶级域名
输出示例(每次执行结果不同):
text
"com"
"net"
"org"
"edu"
"gov"
"mil"
"int"
这些 TLD 都来自真实互联网中注册和使用的标准域名后缀
Random.email() 随机生成一个邮件地址
它是一个 随机生成完整邮箱地址 的方法,返回值如:
Mock.Random.email()
text
"user@example.com"
"john.smith@gmail.com"
"zhangwei@163.net"
"admin@microsoft.org"
核心特点:
自动生成「用户名 + @ + 域名」三段式结构
用户名部分由常见英文名组合而成(如 john, alice)
域名部分来自真实高频使用的邮件服务商或通用域名
返回字符串,可直接用于表单测试、用户列表、登录模拟等场景
Mock.Random.email()
Mock.Random.email( 域 )
随机生成一个邮件地址。
如果不传参数,则所有部分都随机生成
Mock.Random.email()
Mock.Random.email() 基础用法 —— 随机生成任意邮箱
输出示例(每次执行结果不同):
text
"user@example.com"
"john.doe@gmail.com"
"alice.wong@163.net"
"admin@microsoft.org"
"support@github.io"
"contact@vuejs.dev"
这些邮箱虽然不一定真实存在,但格式完全合规,可用于前端验证、接口 mock、UI 填充。
Mock.Random.email('mycompany.com') 指定固定域名(企业内部/组织专用)
输出示例:
text
"ethan.taylor@mycompany.com"
"lucy.zhang@mycompany.com"
"service@mycompany.com"
"manager@mycompany.com"
非常适合构建公司员工通讯录、SaaS 多租户系统、后台管理系统 mock 数据。
Random.ip() 随机生成一个 IP 地址
它是一个 随机生成 IPv4 地址 的方法,返回值如:
Mock.Random.ip()
text
"192.168.1.1"
"10.0.0.5"
"172.16.254.100"
"203.0.113.45"
核心特点:
生成的是标准的 IPv4 地址格式:四段十进制数字,用点分隔
所有地址都符合互联网协议规范(RFC 791)
不包含 IPv6 地址(Mock.js 不支持)
返回字符串,可直接用于日志、设备列表、权限控制等场景
返回值是一个字符串,表示一个合法的 IPv4 地址
Mock.Random.ip()
Mock.Random.ip() 基础用法 —— 随机返回一个公网或私网 IP
输出示例(每次执行结果不同):
text
"192.168.1.1"
"10.0.0.100"
"172.16.10.254"
"203.0.113.45"
"98.138.253.109"
"157.240.22.35"
这些地址包括:
私有网络地址(局域网常见)
公网地址(模拟外部访问)
Address 地址类里的方法,
是指一组与 国家、省份、城市、区县、邮编、完整地址 相关的静态方法集合,统称为 地址类方法(Address Methods) 。
Address 地址类里的方法
这些方法能帮助你:
快速生成中国或国际化的行政区划数据
构造逼真的用户收货地址
模拟多区域业务分布
填充表单、报表、地图应用中的位置字段
Random.region() 随机生成一个(中国)大区
它是一个 随机生成中国四大或五大经济/地理大区名称 的方法,返回值如:
Mock.Random.region()
text
"华东"
"华南"
"华北"
"华中"
"西北"
"西南"
"东北"
核心特点:
只返回“大区”名称(字符串)
覆盖中国大陆主流区域划分方式
不包含具体省市区,是更高层级的聚合单位
返回结果为中文字符串,适合国内项目使用
返回值是一个中文字符串,表示一个中国大区名,例如 “华东”
Mock.Random.region()
Mock.Random.region() 基础用法 —— 随机返回一个中国大区
输出示例(每次执行结果不同):
text
"华东"
"华南"
"华北"
"华中"
"西南"
"西北"
"东北"
这些是目前中国最常见的 七大区域划分 模式之一。
Random.province() 随机生成一个(中国)省(或直辖市、自治区、特别行政区)
它是一个 随机生成中国34个省级行政区名称 的方法,返回值如:
Mock.Random.province()
text
"北京市"
"广东省"
"新疆维吾尔自治区"
"香港特别行政区"
核心特点:
返回的是标准中文全称(带“省”、“市”、“自治区”等后缀)
覆盖中国大陆及港澳台所有法定省级单位
数据来源于中国民政部公布的官方行政区划
返回字符串,可直接用于表单、报表、地图、用户资料等场景
返回值是一个完整名称的字符串,例如 “浙江省”,不是 “浙” 或 “Zhejiang”
Mock.Random.province()
Mock.Random.province() 基础用法 —— 随机返回一个省级单位
输出示例(每次执行结果不同):
text
"北京市"
"四川省"
"陕西省"
"宁夏回族自治区"
"澳门特别行政区"
"台湾省"
.....
总共 34 个省级行政区,完全符合中华人民共和国官方划分。
Random.city() 随机生成一个(中国)市
它是一个 随机生成中国“城市”级别行政区名称 的方法,返回值如:
Mock.Random.city()
text
"杭州市"
"深圳市"
"成都市"
"北京市"(直辖市也视为“市”)
核心特点:
返回的是标准中文全称(带“市”后缀)
包括普通地级市、副省级市、计划单列市、以及四大直辖市
数据基于真实中国行政区划体系
通常与当前省份上下文关联(即:生成的城市属于某个省)
返回字符串,可直接用于用户资料、订单地址、地图标注等场景
返回值是一个城市名称字符串,例如 “南京市”,不包含省名(除非是直辖市)
Mock.Random.city()
Mock.Random.city() 基础用法 —— 随机返回一个中国城市
输出示例(每次执行结果不同):
text
"杭州市"
"苏州市"
"武汉市"
"重庆市"
"西安市"
"东莞市"(直筒子市,无区县划分)
"拉萨市"
"三亚市"
💡 注意:四大直辖市(北京、上海、天津、重庆)也会被包含在内
Random.city(true); //若生成的市你不知道对应的所属的省,传入true,就可以把市对应的所属省也打印出来
text
"安徽省 芜湖市"
"山东省 青岛市"
......
Random.county() 随机生成一个(中国)县
它是一个 随机生成中国“县级”行政区名称 的方法,返回值如:
Mock.Random.county()
text
"西湖区"
"鄞州区"
"昆山市"(县级市)
"通州区"
"安县"
更强大的是:它还可以自动生成完整的省市区三级地址字符串,例如:
text
"浙江省 杭州市 西湖区"
"四川省 成都市 高新区"
核心特点:
返回“区”、“县”或“县级市”名称
支持一键生成完整三级行政地址(带省+市前缀)
数据基于真实的行政区划归属关系
常用于用户资料、订单地址、物流信息等真实业务场景
Mock.Random.county( )
Mock.Random.county( true )
随机生成一个(中国)县。
true 必须是布尔类型,不能写成 “true” 字符串!
Mock.Random.county(true )
注意:
当 merged = false 或不传时:只返回县级名称(如 "朝阳区")
当 merged = true 时:返回完整三段式地址(如 "北京市 朝阳区")
Mock.Random.county() 基础用法 —— 只返回县级名称
输出示例(每次执行结果不同):
text
"西湖区"
"南山区"
"浦东新区"
"武侯区"
"鼓楼区"
"昌平区"
"通州区"
"安县"
"大邑县"
"胶州市"(县级市)
"神农架林区"(特殊行政区)
✅ 包括:
市辖区(如“海淀区”)
县(如“安县”)
自治县(较少见,mock 中可能简化)
县级市(如“义乌市”)
特殊区域(如“高新区”、“经开区”虽非法但常用)
Mock.Random.county(true) 生成完整省市区地址(强烈推荐!)
输出示例:
text
"浙江省 杭州市 西湖区"
"广东省 深圳市 南山区"
"四川省 成都市 高新区"
"江苏省 苏州市 昆山市"
"北京市 朝阳区"
"重庆市 渝北区"
💡 注意:
对于直辖市(北京、上海、天津、重庆),格式为 "北京市 朝阳区",省略中间“市”层级
所有地址都符合中国民政部标准与日常使用习惯
Random.zip() 随机生成一个邮政编码
Mock.Random.zip() 它是一个 随机生成中国邮政编码(邮编) 的方法,返回值如:
text
"100101"
"518000"
"310000"
核心特点:
生成的是 6 位纯数字字符串
符合中国大陆邮政编码规范(GB/T 4615-1984)
返回类型为 string(注意不是 number)
可指定长度(扩展用法)
Helper 帮助类里的方法,
Random.capitalize() 把字符串的第一个字母转换为大写
它是一个 将字符串首字母转为大写 的帮助类方法,其余字母保持不变。
Mock.Random.capitalize(word)
核心功能:
把任意英文单词或字符串的第一个字符转换成大写
其他字符不作修改(不会自动转小写)
常用于生成“符合英文命名规范”的文本,如人名、标题、品牌名等
它不会改变原字符串,而是返回一个新的首字母大写的字符串。
Mock.Random.capitalize(word)
基础用法 —— 手动传入字符串
Mock.Random.capitalize('hello') → "Hello"
Mock.Random.capitalize('world') → "World"
Mock.Random.capitalize('javascript')→ "Javascript"
Mock.Random.capitalize('a') → "A"
Mock.Random.capitalize('') → ""(空字符串)
💡 即使后续字母是大写也不影响:
Mock.Random.capitalize('hELLO') → "HELLO"(只改第一个字母)
不传参数 —— 自动生成一个“首字母大写的随机字母”
Mock.Random.capitalize()
输出示例:
text
"A", "B", "C", "X", "Y", "Z"...
Random.lower() 把字符串转换为小写
Mock.Random.lower(str) 它是一个 将字符串全部转换为小写 的帮助类方法,常用于生成符合规范的邮箱、用户名、路径等需要统一小写的场景。
核心功能:
把任意英文字符串中的所有大写字母转为小写
非字母字符(数字、符号、中文)保持不变
返回新字符串,不修改原值
是构建标准化文本数据的重要工具
返回类型是字符串
Mock.Random.lower(str)
即使输入非字符串也会先转成字符串再处理(如数字 123 → “123”)中文、标点、空格等不受影响
基础用法 —— 手动传入字符串
Mock.Random.lower('Hello') → "hello"
Mock.Random.lower('WORLD') → "world"
Mock.Random.lower('JavaScript') → "javascript"
Mock.Random.lower('USER-NAME_123')→ "user-name_123"
Mock.Random.lower('你好HELLO') → "你好hello"(只改英文字母)
💡 特点:
所有大写英文字母都会被转为小写
数字、下划线、连字符、中文等保留原样
不会去除空格或做 trim 操作
不传参数 —— 自动生成一个小写字母
Mock.Random.lower()
输出示例:
text
"a", "b", "c", ..., "x", "y", "z"
这个用法较少见,主要用于组合其他方法时作为“随机小写字母生成器”。
Random.pick() 从数组中随机选取一个元素
它是一个 从数组中随机选取一个元素并返回 的帮助类方法,是 Mock.js 中实现“枚举值”、“状态选择”、“分类抽样”等场景的核心工具。
Mock.Random.pick(array)
核心功能:
从给定数组中等概率地随机抽取一个元素
返回值就是原数组中的某个真实项(不改变类型)
常用于模拟下拉框、单选题、状态码、标签分类等业务字段
Mock.Random.pick(array)
注意:
如果数组为空 [],会返回 undefined
如果参数不是数组(如字符串、数字),会抛出错误或尝试转换为数组
抽取是均匀分布的,每个元素被选中的概率相等
基础用法 —— 从字符串数组中选一个
Mock.Random.pick(['男', '女']) → "男" 或 "女"
Mock.Random.pick(['北京', '上海', '广州']) → "上海"
Mock.Random.pick(['待审核', '已通过', '已拒绝']) → "已通过"
📌 用途:用户性别、城市筛选、订单状态等常见枚举字段。
从数字数组中选一个
Mock.Random.pick([1, 2, 3]) → 1 / 2 / 3
Mock.Random.pick([100, 200, 300, 400]) → 300
Mock.Random.pick([0, 1]) → 布尔替代品(0=false, 1=true)
📌 用途:等级评分、价格档位、配置编号等。
从对象数组中选一个复杂结构
const teachers = [
{ name: "张老师", subject: "数学", age: 45 },
{ name: "李老师", subject: "语文", age: 38 },
{ name: "王老师", subject: "英语", age: 32 }
];
Mock.Random.pick(teachers)
输出示例:
json
{ "name": "李老师", "subject": "语文", "age": 38 }
✅ 用途:模拟教师分配、客服人员指派、专家推荐等。
Random.shuffle() 打乱数组中元素的顺序
它是一个 将数组中元素随机打乱顺序并返回新数组 的帮助类方法,使用“费舍尔-耶茨洗牌算法”(Fisher-Yates Shuffle),确保每个排列组合的概率均等。
Mock.Random.shuffle(array)
核心功能:
打乱原数组的顺序
返回一个新数组,不修改原始数组
每次调用结果都不同(除非种子固定)
常用于模拟随机排序、轮播图顺序、问卷题目打乱、推荐列表等场景
Mock.Random.shuffle(array)
注意:
返回的是新数组,原数组不变
如果传入非数组类型,会尝试转换或抛出警告
空数组返回空数组 []
支持任意类型的元素:字符串、数字、对象、布尔值等
基础用法 —— 打乱字符串数组
Mock.Random.shuffle(['A', 'B', 'C', 'D'])
可能输出:
["B", "D", "A", "C"]
["C", "A", "D", "B"]
["D", "C", "B", "A"]
📌 用途:选择题选项乱序、菜单项随机展示。
2:打乱数字数组
Mock.Random.shuffle([1, 2, 3, 4, 5])
输出示例:
[3, 1, 5, 2, 4]
[5, 4, 1, 3, 2]
📌 用途:抽奖编号、游戏卡牌顺序、测试用例执行顺序
打乱对象数组(复杂结构)
const products = [
{ id: 1, name: "手机" },
{ id: 2, name: "电脑" },
{ id: 3, name: "耳机" },
{ id: 4, name: "手表" }
];
Mock.Random.shuffle(products)
输出示例:
json
[
{ "id": 3, "name": "耳机" },
{ "id": 1, "name": "手机" },
{ "id": 4, "name": "手表" },
{ "id": 2, "name": "电脑" }
]
✅ 特点:
对象本身未被复制(引用相同)
仅顺序被打乱
非常适合商品推荐、文章列表、广告位轮播
Miscellaneous 其它类里的方法
Random.guid()随机生成一个全球唯一标识符
它是一个 随机生成全球唯一标识符(GUID) 的方法,返回一个符合标准格式的 36 位字符串(含连字符),用于在分布式系统中确保 ID 的唯一性。
Mock.Random.guid()
核心功能:
生成一个全局唯一的字符串 ID
格式为:8-4-4-4-12 的十六进制大写字母组合
如:"F7BA0C9E-D8E1-4B8C-A6F1-3D2B1C0A4E7D"
常用于数据库主键、用户 ID、订单编号、设备标识等需要“几乎永不重复”的场景
Mock.Random.guid()
注意:
返回值是 字符串类型
包含 5 组字符,用 - 分隔
所有字母为 大写
总长度为 36 个字符
Mock.Random.guid()
输出:
"C3F5A7B1-2E8D-4ABC-9123-AABBCCDDEEFF"
"80E7B5F2-1C9A-4F3E-B456-123456789ABC"

Random.id() 随机生成一个 18 位身份证
它是一个 随机生成中国居民身份证号码(18 位) 的方法,符合中国大陆第二代身份证的编码规则,包含:
Mock.Random.id()
地区码 + 出生年月日 + 顺序码 + 校验码(含 X)
核心功能:
生成一个格式合法、逻辑合理、校验通过的 18 位身份证号
支持自动计算最后一位校验码(包括 X)
常用于模拟用户注册、实名认证、政务系统等需要真实身份信息的场景
返回值为 字符串类型(因为末尾可能是 X,不能作为数字处理)
Mock.Random.id()
长度固定为 18 位
区域码来自真实的行政区划代码
生日部分在合理范围内(如 1900 ~ 当前年份)
最后一位是根据前 17 位计算出的 ISO 7064:1983.MOD 11-2 校验码

基础用法 —— 生成单个身份证号
Mock.Random.id()
输出示例:
text
"110105198701023456"
"44030019951212882X"
"310115200008201234"
注意:X 是大写,表示罗马数字 10,合法且常见
Mock.js 的语法规范:数据占位符定义规范
DPD(数据占位符定义)它允许你在 JSON 模板中使用类似 @name、@email() 这样的“占位符”,让 Mock.js 自动替换成真实的数据。
核心思想:
在模板中写一个“标记”
Mock.js 解析这个标记
调用对应方法生成真实值
替换掉原始占位符
占位符的基本格式
标准语法:
@占位符名
@占位符名(参数 )

"@name" → "张伟"
"@email()" → "zhangwei@example.com"
"@cparagraph(1, 3)" → "这是一段中文段落……"
"@pick(['A','B'])" → "B"
。
占位符的本质:调用 Mock.Random 方法 所有占位符最终都会映射到 Mock.Random 对象上的方法
例如:
![图片[6] - Mock.JS第三方库——2. Random工具函数和数据占位符定义 - 鹿快](https://img.lukuai.com/blogimg/20251111/30bf6129789e409e9ed039272ade6f26.png)
所以你可以理解为:
@xxx(…) ≈ Mock.Random.xxx(…)
扩展自定义占位符,Mock.Random.extend()
就是目前Mock.JS官方给的这些数据生成方法,它也满足不了我们的开发的需求,那这个时候呢,我就需要自己去扩展一个,然后扩展完,跟它官方的这个方法是一模一样的。
它是一个用于 向 Mock.js 注册自定义数据生成方法 的工具函数,通过它,你可以添加自己的“占位符”,比如 @color, @jobTitle, @imei, @idCardByAge 等等
Mock.Random.extend()
核心功能:
扩展 Mock.Random 对象
创建新的占位符(如 @myMethod())
在模板中像原生方法一样使用
实现业务定制化数据生成
基本语法
Mock.Random.extend({
methodName: function([args]) {
// 你的逻辑
return 生成的值;
}
});

//扩展方法
Random.extend({
constellation: function (date) {
var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'];
return this.pick(constellations)
}
});
console.log(Random.constellation()); //狮子座
console.log(Mock.mock('@constellation'))//射手座















暂无评论内容