美文网首页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