上一篇我们了解了Mock.js中数据模板定义规范,用于规范Mock中随机数据的产生。Mock.js中还有另外一种规范,这种规范我们在上一篇中也提到过,也是用于规范Mock中随机数据的产生。
数据占位符定义规范
基本占位符
- Random.boolean():返回一个随机的布尔值
- Random.boolean( min, max, current ):返回参数 current 的概率为 min / (min + max)。
// Random.boolean()
Random.boolean()
Mock.mock('@boolean')
Mock.mock('@boolean()')
// Random.boolean( min, max, current )
Random.boolean(1, 9, true)
Mock.mock('@boolean(1, 9, true)')
- Random.natural():返回一个随机的自然数(大于等于 0 的整数)。
- Random.natural( min ):指示随机自然数的最小值。
- Random.natural( min, max ):指定随机自然数的最小值和最大值。
// Random.natural()
Random.natural()
Mock.mock('@natural')
Mock.mock('@natural()')
// Random.natural( min )
Random.natural(10000)
Mock.mock('@natural(10000)')
// Random.natural( min, max )
Random.natural(60, 100)
Mock.mock('@natural(60, 100)')
- Random.integer():返回一个随机的整数。
- Random.integer( min ):指示随机数的最小值。
- Random.integer( min, max ):指定随机数的最小值和最大值。
// Random.integer()
Random.integer()
Mock.mock('@integer')
Mock.mock('@integer()')
// Random.integer( min )
Random.integer(10000)
Mock.mock('@integer(10000)')
// Random.integer( min, max )
Random.integer(60, 100)
Mock.mock('@integer(60, 100)')
- Random.float():返回一个随机的浮点数。
- Random.float( min ):返回一个随机的浮点数,且指定最小值
- Random.float( min, max ):返回一个随机的浮点数,且指定最小值和最大值
- Random.float( min, max, dmin ):返回一个随机的浮点数,且指定最小值、最大值和小数部分位数的最小值
- Random.float( min, max, dmin, dmax ):返回一个随机的浮点数,且指定最小值、最大值、小数部分位数的最小值和最大值
// Random.float()
Random.float()
Mock.mock('@float')
Mock.mock('@float()')
// Random.float( min )
Random.float(0)
Mock.mock('@float(0)')
// Random.float( min, max )
Random.float(60, 100)
Mock.mock('@float(60, 100)')
// Random.float( min, max, dmin )
Random.float(60, 100, 3)
Mock.mock('@float(60, 100, 3)')
// Random.float( min, max, dmin, dmax )
Random.float(60, 100, 3, 5)
Mock.mock('@float(60, 100, 3, 5)')
- Random.character():返回一个随机字符。
- Random.character( ‘lower/upper/number/symbol’ ):表示从 ‘lower’ 或 ‘upper’、‘number’、'symbol’中随机选取
- Random.character( pool ):从 pool 中随机字符
// Random.character()
Random.character()
Mock.mock('@character')
Mock.mock('@character()')
// Random.character( 'lower/upper/number/symbol' )
Random.character('lower')
Random.character('upper')
Random.character('number')
Random.character('symbol')
//lower/upper/number/symbol表示的字符
//{
// lower: "abcdefghijklmnopqrstuvwxyz",
// upper: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
// number: "0123456789",
// symbol: "!@#$%^&*()[]"
//}
Mock.mock('@character("lower")')
Mock.mock('@character("upper")')
Mock.mock('@character("number")')
Mock.mock('@character("symbol")')
// Random.character( pool )
Random.character('aeiou')
Mock.mock('@character("aeiou")')
- Random.string():返回一个随机字符串
- Random.string( length ):返回一个指定长度的随机字符串
- Random.string( pool, length ):从 lower/upper/number/symbol 中返回指定长度的随机字符串
- Random.string( min, max ):返回一个最短为 min 最长为 max 长度的随机字符串
- Random.string( pool, min, max ):从 lower/upper/number/symbol 中返回一个最短为 min 最长为 max 长度的随机字符串
// Random.string()
Random.string()
Mock.mock('@string')
Mock.mock('@string()')
// Random.string( length )
Random.string(5)
Mock.mock('@string(5)')
// Random.string( pool, length )
Random.string('lower', 5)
Mock.mock('@string("lower", 5)')
// Random.string( min, max )
Random.string(7, 10)
Mock.mock('@string(7, 10)')
// Random.string( pool, min, max )
Random.string('lower', 1, 3)
Mock.mock('@string("lower", 1, 3)')
- Random.range( stop ):返回一个整型数组。
- Random.range( start, stop ):返回一个起始值为 start ,结束值为 stop 的整型数组
- Random.range( start, stop, step ):返回一个起始值为 start ,结束值为 stop ,步长为step 的整型数组
// Random.range( stop )
Random.range(10)
Mock.mock('@range(10)')
// Random.range( start, stop )
Random.range(3, 7)
Mock.mock('@range(3, 7)')
// Random.range( start, stop, step )
Random.range(1, 10, 2)
Random.range(1, 10, 3)
Mock.mock('@range(1, 10, 2)')
Mock.mock('@range(1, 10, 3)')
时间占位符
- Random.date():返回一个随机的日期字符串
- Random.date( format ):按照 format 返回一个随机的日期字符串
- Random.time():返回一个随机的时间字符串
- Random.time( format ):按照 format 返回一个随机的时间字符串
- Random.datetime():返回一个随机的日期和时间字符串。
- Random.datetime( format ):按照 format 返回一个随机的日期和时间字符串。
- Ranndom.now( unit, format ):返回 format 指示生成的 unit 字符串的格式
- Ranndom.now():返回当前的日期和时间字符串
- Ranndom.now( format ):返回 format 指示生成的日期和时间字符串的格式
- Ranndom.now( unit ):返回 unit 指定的日期或时间。
// Random.date()
Random.date()
Mock.mock('@date')
Mock.mock('@date()')
// Random.date( format )
Mock.mock('@date("yyyy yy y MM M dd d")')
// Random.time()
Random.time()
Mock.mock('@time')
Mock.mock('@time()')
// Random.time( format )
Mock.mock('@time("HH H hh h mm m ss s SS S A a T")')
// Random.datetime()
Random.datetime()
Mock.mock('@datetime()')
Mock.mock('@datetime("yyyy yy y MM M dd d HH H hh h mm m ss s SS S A a T")')
// Ranndom.now()
Random.now()
Mock.mock('@now()')
// Ranndom.now( format )
Random.now('yyyy-MM-dd HH:mm:ss SS')
// Ranndom.now( unit )
Random.now('year')
// Ranndom.now( unit, format )
Random.now('day', 'yyyy-MM-dd HH:mm:ss SS')
//unit 可以为year、month、week、day、hour、minute、second、week
颜色占位符
- Random.color():随机生成格式为 '#RRGGBB’的颜色
- Random.hex():随机生成格式为 '#RRGGBB’的颜色
- Random.rgb():随机生成格式为 ''rgb(r, g, b)'的颜色
- Random.rgba():随机生成格式为 'rgba(r, g, b, a)'的颜色
- Random.hsl():随机生成格式为 'hsl(h, s, l)'的颜色
// Random.color()
Random.color()
Mock.mock('@color()')
// Random.hex()
Random.hex()
Mock.mock('@hex()')
// Random.rgb()
Random.rgb()
Mock.mock('@rgb()')
// Random.rgba()
Random.rgba()
Mock.mock('@rgba()')
// Random.hsl()
Random.hsl()
Mock.mock('@hsl()')
文本占位符
- Random.paragraph():随机生成一段文本
- Random.paragraph( len ):随机生成一段文本,len用于指示文本中句子的个数。默认值为 3 到 7 之间的随机数
- Random.paragraph( min, max ):随机生成一段文本,min用于指示文本中句子的最小个数。默认值为 3,max用于指示文本中句子的最大个数。默认值为 7
- Random.sentence():随机生成一个句子,第一个单词的首字母大写
- Random.sentence( len ):同上
- Random.sentence( min, max ):同上
- Random.word():随机生成一个单词
- Random.word( len ):指示单词中字符的个数。默认值为 3 到 10 之间的随机数
- Random.word( min, max ):min单词中字符的最小个数,max单词中字符的最大个数
- Random.title():随机生成一句标题,其中每个单词的首字母大写。
- Random.title( len ):同上
- Random.title( min, max ) :同上
// Random.paragraph()
Random.paragraph()
Mock.mock('@paragraph()')
// Random.paragraph( len )
Mock.mock('@paragraph(2)')
// Random.paragraph( min, max )
Mock.mock('@paragraph(1, 3)')
// Random.sentence()
Random.sentence()
Mock.mock('@sentence()')
// Random.word( min, max )
Random.word(3, 5)
Mock.mock('@word(3, 5)')
// Random.title( min, max )
Random.title(3, 5)
Mock.mock('@title(3, 5)')
- Random.cparagraph():随机生成一段中文文本
- Random.cparagraph( len ):同上
- Random.cparagraph( min, max ):同上
// Random.cparagraph()
Random.cparagraph()
Mock.mock('@cparagraph()')
// Random.cparagraph( len )
Mock.mock('@cparagraph(2)')
// Random.cparagraph( min, max )
Mock.mock('@cparagraph(1, 3)')
名字占位符
- Random.first():随机生成一个常见的英文名
- Random.last():随机生成一个常见的英文姓。
- Random.name( middle ):随机生成一个常见的英文姓名。middle 为可选参数,表示是否生成中间名
- Random.cfirst():随机生成一个常见的中文名。
- Random.clast():随机生成一个常见的中文姓。
- Random.cname():随机生成一个常见的中文姓名。
URL占位符
- Random.url():随机生成一个 URL。
- Random.url( protocol, host ):protocol用于指定 URL 协议,host用于指定URL 域名和端口号
- Random.protocol():随机生成一个 URL 协议
- Random.domain():随机生成一个域名。
- Random.tld():随机生成一个顶级域名
- Random.email():随机生成一个邮件地址
- Random.email( domain ):domain 用于指定邮件地址的域名
- Random.ip():随机生成一个 IP 地址。
地址占位符
- Random.region():随机生成一个(中国)大区。
- Random.province():随机生成一个(中国)省(或直辖市、自治区、特别行政区)
- Random.city():随机生成一个(中国)市
- Random.city( prefix ):prefix 为布尔值表示是否生成所属的省
- Random.county():随机生成一个(中国)县。
- Random.county( prefix ):prefix 为布尔值表示是否生成所属的省、市
- Random.zip():随机生成一个邮政编码(六位数字)
到这里我将所有常用的占位符全部写出来了,因为篇幅问题,后面没有添加演示方法。