MockJs
Mock.mock({'data1|1-4':})
语法规范
-
属性值是字符串 String
- ‘data1|1-4’: ‘一二三’, //随机重复1-4次
- ‘data2|3’: ‘好帅’, //固定重置3次
-
属性值是数字 Number
- ‘number1|+1’: 100, //整数,自动加1并且初始值为100
- ‘number2|1-100’: 12, //整数,1-100之间的随机数,包括1和100(1=<数字<=100) 12用来确定是数据为数字类型
- ‘number3|1-100.5’: 12, //小数,整数部分为为1-100间随机数,包括1和100;小数部分为固定5位随机数
- ‘number4|1-100.1-10’: 12, //小数,整数部分为为1-100间随机数,包括1和100;小数部分为1-10个随机数(位数随机,数字也随机)
- ‘number5|123.1-10’: 12, //数字123后面随机添加1-10位小数
- ‘number6|123.10’: 12, //数字123后面固定添加10位小数,但小数的值是随机的
- ‘number1|+1’: 100, //整数,自动加1并且初始值为100
-
属性值是布尔型 Boolean
- ‘b1|1’: false, //随机生成一个布尔值,true与false的概率各为一半
- ‘b2|1-5’: true, //随机生成一个布尔值,值为value的概率是min / (min + max),值为!value的概率是max / (min + max)
- ‘b1|1’: false, //随机生成一个布尔值,true与false的概率各为一半
-
属性值是对象 Object
- ‘num1|1-3’: { a: 10, b: 20, c: 30, d: 40 }, //随机选取对象里1-3个属性
- ‘num2|2’: { a: 10, b: 20, c: 30, d: 40 }, //随机选取对象里2个属性
-
属性值是 Array
- ‘arr1|1’: [‘a’, ‘b’, ‘c’, ‘d’, ‘e’], //随机选取数组里1个数据
- ‘arr2|10’:[’‘a’, ‘b’, ‘c’, ‘d’, 'e], //如果不是1,就是将数组循环N遍
- ‘arr3|1-3’: [‘a’, ‘b’, ‘c’, ‘d’, ‘e’], //通过重复属性值生成一个新数组,min<=重复次数<=max
-
属性值是函数 Function
- Mock.mock({
‘result’: function () { return 1 + 2 } //把函数的返回值当作属性的结果
})
- Mock.mock({
-
属性值是正则表达式 RegExp
- ‘reg1’: /[a-z][A-Z][0-9]/,
- ‘reg2’: /\w\W\s\S\d\D/,
- ‘reg3’: /\d{5,10}/
- ‘reg1’: /[a-z][A-Z][0-9]/,
Random
let Random = Mock.Random;
基础类 Basics 7个
-
Random.boolean() 随机一个布尔值
- Random.boolean(),
- Random.boolean(1, 9, true),
- Random.boolean(1, 2, false),
-
Random.natural() 随机一个自然数(大于等于 0 的整数)
- Random.natural(),
- Random.natural(100),
- Random.natural(0, 50),
-
Random.integer() 随机一个整数(包含负数)
- Random.integer(),
- Random.integer(-100),
- Random.integer(-50, 50),
-
Random.float() 随机一个小数
- Random.float(),
- Random.float(0),
- Random.float(-10, 10),
- Random.float(-10, 10, 3),
- Random.float(-10, 10, 2, 5),
-
Random.character() //随机一个字符
- Random.character(),
- Random.character(‘abc123’),
- Random.character(‘lower’),
- Random.character(‘symbol’),
-
Random.string() 随机一个字符串
- Random.string(),
- Random.string(5),
- Random.string(7, 10),
- Random.string(‘symbol’, 5), // symbol 是字符池中的一种
- Random.string(‘abc123’, 1, 3),
-
Random.range() 随机一个整数数据的数组
- Random.range(7),
- Random.range(3, 7),
- Random.range(1, 10, 2),
Date 日期类里的方法,共4个
-
Random.date() 随机一个日期
-
Random.date(),
- Random.date(‘yyyy-MM–dd : HH-m-ss’),
-
Random.data(“T”) //生成当前时间戳
-
Random.time() 随机一个时间
-
Random.time(),
- Random.time(‘A HH:mm:ss:SS’),
-
Random.datetime() 随机一个日期+时间
-
Random.datetime()
-
Random.now() 返回当前的日期和时间字符串
-
Random.now(),
- Random.now(‘minute’),
Image 图片类里的方法,2个
- Random.image() 生成一个随机的图片地址
- Random.image(),
- Random.image('200x100'),
- Random.image('200x100', '#ffcc33', '#FFF', 'png', 'kaivon'),
2. Random.dataImage() //生成一段随机的 Base64 图片编码
- Random.dataImage('200x100'),
Color 颜色类里的方法,共5个
-
Random.color(),
-
Random.hex(),
-
Random.rgb(), //随机生成一个rgb格式的颜色
-
Random.rgba(), //随机生成一个rgba格式的颜色
-
Random.hsl(), //随机生成一个hsl格式(色相、饱和度、亮度)的颜色
Text 文本类里的方法,共8个
- Random.paragraph() 随机生成一段文本
- Random.paragraph()
- Random.paragraph(2)
- Random.paragraph(1, 3)
-
Random.cparagraph() 随机生成一段中文文本。
-
Random.sentence() 随机生成一个句子,句子首字母大写
-
Random.csentence() 随机生成一段中文文本
-
Random.word() 随机生成一个单词
-
Random.cword() 随机生成一个汉字
- Random.cword(‘零一二三四五六七八九十’, 3)
- Random.cword(‘零一二三四五六七八九十’, 5, 7)
-
Random.title() 随机生成一个标题
-
Random.ctitle() 随机生成一句中文标题
Name 名字类里的方法,共6个
- Random.first() 随机生成一个常见的英文名
- Random.last() 随机生成一个常见的英文姓
- Random.name() 随机生成一个常见的英文姓名
- Random.cfirst() //随机生成一个常见的中文名
- Random.clast() //随机生成一个常见的中文姓
- Random.cname() 随机生成一个常见的中文姓名
Web Web类里的方法,共6个
- Random.url() //随机生成一个 URL
- Random.url()
- Random.url(‘http’) //指定协议
- Random.url(‘http’, ‘kaivon.cn’) //指定域名
- Random.protocol() 随机生成一个 URL 协议
- Random.domain() 随机生成一个域名
- Random.tld() 随机生成一个顶级域名
- Random.email() 随机生成一个邮件地址
- Random.ip() 随机生成一个 IP 地址
Address 地址类里的方法,共5个
- Random.region() 随机生成一个(中国)大区
- Random.province() 随机生成一个(中国)省(或直辖市、自治区、特别行政区)
- Random.city(true) : //是否生成所属的省
- Random.city() 随机生成一个(中国)市
- Random.county() 随机生成一个(中国)县
- Random.zip() 随机生成一个邮政编码
Helper 帮助类里的方法,共5个
1. Random.capitalize() //把字符串的第一个字母转换为大写 - Random.lower('kai') 2. Random.upper() //把字符串转换为大写 - Random.lower('kai') 3. Random.lower() //把字符串转换为小写 - Random.lower('KAI') 4. Random.pick() //从数组中随机选取一个元素 - Random.pick(['a', 'b', 'c', 'd', 'e']) 5. Random.pick() //从数组中随机选取一个元素 - Random.shuffle(['a', 'b', 'c', 'd', 'e'])
Miscellaneous 其它类里的方法,共3个
1. Random.guid() 随机生成一个 GUID 2. Random.id() 随机生成一个 18 位身份证
//扩展方法 Random.extend({ constellation: function (date) { var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座']; return this.pick(constellations) } }); console.log(Random.constellation()); console.log(Mock.mock('@constellation'))
占位符
- Mock.mock(’@EMAIL’),
- Mock.mock(’@CITY(true)’),
- Mock.mock(’@cword(“一二三四”, 1, 3)’),
例如
Mock.mock('js/data.json', {
"status": "success",
"msg": "查询成功",
"data|10": [{
"id|+1": 1,
"name": "@cname",
"birth": "@date",
"sex|1": ['男', '女'],
"sNo|+1": 11000,
"email": "@email",
"phone": "@natural(13000000000,19900000000)",
"address": "@county(true) @ctitle(5,10)",
"appkey": "@string(4,7)_@date(T)",
"ctime": "@date(T)",
"utime": "@date(T)"
}],
});
Mock.setup({
timeout:5000,
});