/**
* @fileOverview 彩票項(xiàng)目中使用各種基礎(chǔ)函數(shù)
* @name q.core.js 基礎(chǔ)函數(shù)(字符串攻走,日期,cookie)
* @author chengbingsheng@#
* @version 0.0.1
*/
/**
*
*@module Q_core
* 提供基礎(chǔ)功能函數(shù)
*/
define(['underscore'], function(_) {
//使用嚴(yán)格模式
"use strict"
//定義Q對(duì)象滓彰,定義二級(jí)對(duì)象
var Q_core = {
version : '0.0.1',
time_stamp : +new Date(),
noop : function() {
},
system : {}, ///一些瀏覽器通用內(nèi)容
number : {}, //數(shù)字計(jì)算相關(guān)
date : {}, //日期時(shí)間相關(guān)
string : {}, //字符串相關(guān)
cookie : {} //cookie相關(guān)
};
/**************************************************************************************************************
*@ignore Q_core.system
***************************************************************************************************************/
/**
* @property is_mobile
* @description 檢測(cè)系統(tǒng)是否手機(jī),簡(jiǎn)單揉稚,不嚴(yán)謹(jǐn)
*/
Q_core.system.is_mobile = ( function() {
var UA = window.navigator.userAgent;
var len = UA.length;
var l = UA.replace(/iphone|ipad mini|ipad|ipod|android|Series60|BlackBerry|Windows Phone/gi, '').length;
return l !== len;
}());
/**************************************************************************************************************
* @ignore Q_core.number
***************************************************************************************************************/
/**
* @description 格式化數(shù)字,小數(shù)位不足補(bǔ)0
* @param {Number} num 被格式化的數(shù)字
* @param {Number} [decimal=2] 小數(shù)位數(shù)
* @param {Number} [round=0] 如何舍入 可選值為以下幾種:<br>1:只入不舍卫键,<br>0:四舍五入,<br>-1:只舍不入 ,<br>465:四舍六入五留雙
* @return {String} 字符串格式的數(shù)字 如:123.45
* @example Q_core.number.format(123.456,2,1) <br> => 123.45
* @method
*/
Q_core.number.format = function(num, decimal, round) {
var pow;
decimal = typeof (decimal * 1) !== 'number' || isNaN(decimal * 1) ? 2 : Math.abs(decimal);
pow = Math.pow(10, decimal);
num *= 1;
//f_num處理浮點(diǎn)數(shù)問題缆巧,能保證保留10位小數(shù)以內(nèi)計(jì)算得到正常結(jié)果
var f_num = 0.000000000099999;
switch (round) {
case 1:
num = Math.ceil(num * pow) / pow;
break;
case -1:
num = Math.floor(num * pow + f_num) / pow;
break;
case 465:
//四舍六入五成雙,如保留兩位小數(shù)布持,第三位小數(shù)如果是5,則看第二位是奇偶陕悬,如果是奇题暖,則進(jìn)位,否則舍去
var is_jo = Math.floor(num * pow + f_num) % 10 % 2;
//要進(jìn)位上數(shù)字是否是5
var is_five = Math.floor(num * pow * 10 + f_num) % 10 == 5;
var step = is_five && !is_jo ? 1 / pow : 0;
num = Q_core.number.format(num, decimal) - step;
break;
default:
num = (num * pow + f_num) / pow;
}
return (num.toFixed(decimal) + '').replace(/^\./g, '0.').replace(/\.$/, '');
};
/**
* @description 把數(shù)字格式化成貨幣型
* @param {Number} num 被格式化的數(shù)字
* @param {Number} [decimal=2] 小數(shù)位 默認(rèn)兩位
* @param {Number} [round=0] 如何舍入 可選值為以下幾種:<br>1:只入不舍,0:四舍五入胧卤,-1:只舍不入
* @return {String} 貨幣格式的字符串型的數(shù)字 如:1,234,567.46
* @example Q_core.number.currency(1234567.456,2,0)=>1,234,567.46
* @method
*/
Q_core.number.currency = function(num, decimal, round) {
var arr;
if ( typeof decimal !== 'undefined') {
num = Q_core.number.format(num, decimal, round);
}
arr = (num + '').split('.');
arr[0] = arr[0].replace(/(\d)(?=(\d{3})+$)/g, '$1,');
return (arr[0] + (arr.length == 2 ? '.' + arr[1] : '')).replace(/^\./g, '0.');
};
/**
* @description 單位數(shù)字前補(bǔ)0
* @param {Number} s 數(shù)字或者字符串
* @return {String} 01-09
* @example Q_core.number.fillZero('1') => 01
* @method
*/
Q_core.number.fillZero = function(s){
if(typeof s !== 'number' && typeof s !== 'string') return false;
if(typeof s !== 'string') {
var n = Number(s);
}else{
var n = s;
}
return n>9 ? n : '0' + n;
}
/**
* @description 格式成百分比唯绍,根據(jù)參數(shù)來格式化一個(gè)數(shù)的百分比或是千分比等
* @param {Number} num 被格式化的數(shù)字【必選】
* @param {Number} [percent=100] 比率,如100則是百分比枝誊,1000則是千分比况芒,默認(rèn)百分比
* @param {Number} [decimal=2] 小數(shù)位,默認(rèn)兩位
* @param {Number} [round=0] 如何舍入可選值為:1 只入不舍叶撒,0 四舍五入绝骚,-1 只舍不入
* @return {String} 百分比,不帶% 如:65
* @example Q_core.number.format(1/3,100,2,0) <br> => 33
* @method
*/
Q_core.number.percent = function(num, percent, decimal, round) {
return Q_core.number.format(num * 1 * (percent || 100), decimal, round);
};
/**
* @description 求組合數(shù),從m個(gè)項(xiàng)中選出n個(gè)項(xiàng)的無序排列數(shù)
* @param {Number} m 總項(xiàng)數(shù)【必選】
* @param {Number} n 選出的項(xiàng)數(shù)【必選】
* @return {Number} 組合數(shù)
* @example Q_core.number.combo(4,2) <br> => 6
* @method
*/
Q_core.number.combo = function(m, n) {
var v1,
v2;
//combo(11,9)<br> =>combo(11,2)
if (m / 2 < n) {
n = m - n;
}
//處理m,n為負(fù)數(shù)
if (m < n || n < 0) {
return 0;
}
//處理combo(3,0)==1
if (m >= 0 && n === 0) {
return 1;
}
v1 = 1;
v2 = m;
for (var i = 1; i <= n; i++) {
v1 *= i;
if (i < n) {
v2 *= (m - i);
}
}
return v2 / v1;
};
/**
* @description 遍歷所有組合項(xiàng)祠够,從數(shù)組arr中選出numa項(xiàng)压汪,采用遞歸,數(shù)據(jù)量太大時(shí)有性能問題
* @param {Array} arr 所有項(xiàng)【必選】
* @param {Number} num 選出的項(xiàng)數(shù)【必選】
* @return {Array} 所有組合項(xiàng)的數(shù)組
* @example Q_core.number.each_combo([1,2,3],2) <br> <br> => ['12','13','23']
* @method
*/
Q_core.number.each_combo = function(arr, num) {
var r = [];
(function f(t, a, n) {
if (n === 0) {
return r.push(t);
}
for (var i = 0,
l = a.length; i <= l - n; i++) {
f(t.concat(a[i]), a.slice(i + 1), n - 1);
}
})([], arr, num);
return r;
};
/**
* @description 給定個(gè)二維數(shù)組古瓤,遍歷所有組合項(xiàng)
* @param {Array} arr 二維數(shù)組 如:[[1,2,3],[4,5,6]]【必選】
* @return {Array} 所有組合項(xiàng)的數(shù)組
* @example Q_core.number.each_array_combo([[1,2,3],[4,5,6]]) <br> <br> =>[[1,4],[1,5,[1,6],[2,4],[2,5],[2,6],[3,4],[3,5],[3,6]]
* @method
*/
Q_core.number.each_array_combo = function(arr) {
var idx = 0;
var len = arr.length;
var result = [];
var tmp;
var tmpArr = [];
tmpArr.push(arr);
(function each(arr) {
var tmpArr = [];
for (var i = 0,
l = arr.length; i < l; i++) {
for (var j = 0,
jl = arr[i][idx].length; j < jl; j++) {
tmp = [].concat(arr[i]);
tmp.splice(idx, 1, arr[i][idx][j]);
tmpArr.push(tmp);
}
}
idx++;
if (idx < len) {
each(tmpArr);
} else {
result = tmpArr;
return;
}
})(tmpArr);
return result;
};
/**
* @description 求排列數(shù) 止剖,從m個(gè)項(xiàng)中選出n個(gè)項(xiàng)的有序排列數(shù)
* @param {Bumber} m 總項(xiàng)數(shù)【必選】
* @param {Number} n 選出的項(xiàng)數(shù)【必選】
* @return {Number} 排列數(shù)
* @example Q_core.number.permutation(4,2) <br> => 12
* @method
*/
Q_core.number.permutation = function(m, n) {
var v = 1;
if (m < n || n < 0) {
return 0;
}
for (var i = 0; i < n; i++) {
v *= (m - i);
}
return v;
};
/**
* @description 遍歷所有排列項(xiàng),從數(shù)組arr中選出numa項(xiàng)湿滓,采用遞歸滴须,數(shù)據(jù)量太大時(shí)有性能問題
* @param {Array} arr 所有項(xiàng)【必選】
* @param {Number} num 選出的項(xiàng)數(shù)【必選】
* @return {Array} 所有排列項(xiàng)數(shù)組
* @example Q_core.number.each_permutation([1,2,3],2) <br> => ['12','13','21','23','31','32']
* @method
*/
Q_core.number.each_permutation = function(arr, num) {
var r = [];
(function f(t, a, n) {
if (n === 0) {
return r.push(t);
}
for (var i = 0,
l = a.length; i < l; i++) {
f(t.concat(a[i]), a.slice(0, i).concat(a.slice(i + 1)), n - 1);
}
})([], arr, num);
return r;
};
/**
* @description 從自然數(shù)n-m的范圍隨機(jī)選出k組z個(gè)數(shù),主要用于彩票中的隨機(jī)選號(hào)
* @param {Object} options 對(duì)象參數(shù)
* @param {Number} options.min 范圍最小值
* @param {Number} options.max 范圍最大值
* @param {Number} options.size 隨機(jī)的個(gè)數(shù)
* @param {Array} [options.share] 膽碼叽奥,如果指定扔水,隨機(jī)每一組里都包含該數(shù)組內(nèi)的元素【可選】
* @param {Array} [options.shahao] 殺號(hào),如果指定朝氓,隨機(jī)每一組里都不會(huì)包含該數(shù)組內(nèi)的元素【可選】
* @param {Number} [options.count=1] 隨機(jī)的組數(shù)魔市,一組是options.size個(gè)默認(rèn)為一組【可選】
* @param {Boolean} [options.repeat=false] 是否可以重復(fù) 默認(rèn)不重復(fù)【可選】
* @param {Boolean} [options.sort=false] 是否排序 默認(rèn)不排序【可選】
* @param {Boolean} [options.repeat_team=true] 如果是一組時(shí),組內(nèi)是否可以重復(fù)赵哲,默認(rèn)可以【可選】
* @return {Array} 如:[[1,3,4],[3,4,6]]
* @example Q_core.number.random({min:0,max:9,size:3,count:2}) <br> => [[1,3,4],[3,4,6]]
* @method
*/
Q_core.number.random = function(options_p) {
var options = {
min : 0,
max : 9,
share : [],
shahao : [],
size : 1
};
$.extend(options, options_p);
options.count = options.count || 1;
var one_random = function(options) {
var ar,
tmp,
k = 0,
ml,
l;
var pre_str = '0000000000000000';
ml = (options.max + '').length;
ar = (options.share || []).toString();
ar = ar === '' ? [] : ar.split(/[,\-_=+\|]/);
l = ar.length;
if (l > 0 && options.max > 9) {//有膽且為兩位數(shù)以上待德,前面補(bǔ)零
for (var i = 0; i < l; i++) {
if (ar[i].length < ml) {
ar[i] = pre_str.substr(0, ml - ar[i].length) + ar[i];
}
}
}
while (k < options.size) {
tmp = (Math.floor(Math.random() * (options.max - options.min + 1)) + options.min) + '';
tmp = pre_str.substr(0, ml - tmp.length) + tmp;
if (options.repeat || (!options.repeat) && $.inArray(tmp, ar) == -1 && $.inArray(tmp, options.shahao || []) == -1) {
ar.push(tmp);
k++;
}
}
if (!!options.sort) {
ar.sort();
}
return typeof options.split_str !== 'undefined' ? ar.join(options.split_str) : ar;
};
var result = [];
var count = Q_core.number.combo(options.max - options.min + 1 - options.share.length - options.shahao.length, options.size);
if (count < options.count) {
options.repeat_team = 1;
}
for (var i = 0; i < options.count; i++) {
var re_tmp = one_random(options);
if (!options.repeat_team) {
var re_len = result.length;
var flag = 0;
for (var j = 0; j < re_len; j++) {
if (result[j].toString() == re_tmp.toString()) {
flag = 1;
break;
}
}
if (flag) {
i--;
} else {
result.push(re_tmp);
}
} else {
result.push(re_tmp);
}
}
return result;
};
/**
* @description 檢測(cè)用戶按下是否是方向健
* @param {Array} e 事件對(duì)象
* @return {Boolean} true/false
* @method
*/
Q_core.number.pass_key = function(e) {
return $.inArray(e.keyCode, [8, 16, 17, 37, 38, 39, 40, 46, 67]) >= 0;
};
/**
* @description 檢測(cè)號(hào)碼是否為連號(hào)
* @param {Array} arr 待檢測(cè)的數(shù)組
* @param {Number} [step=1] 步長(zhǎng)
* @return {Boolean} true/false
* @example Q_core.number.is_seq([1,2,3]) <br> => true <br>
* Q_core.number.is_seq([1,3,5],2) <br> => true
* @method
*/
Q_core.number.is_seq = function(arr, step) {
var arr_tmp = [].concat(arr);
step = step || 1;
//去重
arr_tmp = _.unique(arr_tmp);
var len = arr.length;
var len_new = arr_tmp.length;
var result = false;
if (len == len_new) {
arr_tmp.sort(function(a, b) {
return a - b
});
result = (arr_tmp[len - 1] - arr_tmp[0]) / step + 1 == len;
}
return result;
}
/**************************************************************************************************************
*Q_core.date
***************************************************************************************************************/
/**
* @description 把日期對(duì)象格式化字符串格式
* @param {Date/Number} date 時(shí)期對(duì)象或由Date.getTime()得到的時(shí)間數(shù)【必選】
* @param {String} [format_style=YYYY-MM-DD hh:mm:ss] 格式化樣式
* 可自定義。YYYY四位年份枫夺,YY兩位年分将宪,MM月份,DD天橡庞,hh小時(shí)较坛,mm分種,ss秒
* @return {String} 格式化后的字符串
* @example Q_core.date.format(new Date()) <br> => 2015-03-16 12:33:30
* @method
*/
Q_core.date.format = function(date, format_style) {
date = typeof date == 'object' ? date : new Date(date * 1);
format_style = format_style || 'YYYY-MM-DD hh:mm:ss';
var YYYY = date.getFullYear();
var MM = date.getMonth() + 1;
var DD = date.getDate();
var hh = date.getHours();
var mm = date.getMinutes();
var ss = date.getSeconds();
var YY = (YYYY + '').replace(/^\d\d/g, '');
MM = MM < 10 ? '0' + MM : MM;
DD = DD < 10 ? '0' + DD : DD;
hh = hh < 10 ? '0' + hh : hh;
mm = mm < 10 ? '0' + mm : mm;
ss = ss < 10 ? '0' + ss : ss;
return Q_core.string.mul_replace(format_style, [[/YYYY/, YYYY], [/YY/, YY], [/MM/, MM], [/DD/, DD], [/hh/, hh], [/mm/, mm], [/ss/, ss]]);
};
/**
* @description 把日期字符串轉(zhuǎn)成日期對(duì)象
* @param {String} dateStr 時(shí)期字符串扒最,如:20110612丑勤, 像2011-6-12 12:15:20會(huì)直接調(diào)用系統(tǒng)函數(shù)處理【必選】
* @return {Date} 轉(zhuǎn)化后時(shí)間對(duì)象
* @example Q_core.date.to_date('20110909')
* @method
*/
Q_core.date.to_date = function(dateStr) {
dateStr = $.trim(dateStr);
var str = dateStr;
var reg = /.*(\d{4})(\d\d)(\d\d).*/;
//如果是純數(shù)字組合,并且有連續(xù)的8位數(shù)字
if ($.isNumeric(dateStr) && reg.test(dateStr)) {
str = dateStr.replace(reg, '$1-$2-$3');
}
return new Date(str);
};
/**
* @description 獲取日期在星期中的周幾
* @param {String} dateStr 時(shí)期字符串吧趣,只支持8位純數(shù)字日期或國(guó)內(nèi)日期格式法竞,如2011-06-12 2011/06/12【必選】
* @param {Number} [flag=0] 標(biāo)記返回的數(shù)據(jù)類型 耙厚,為0:返回文本周幾,為1:返回周幾的下標(biāo):為2:返回文本和下標(biāo)['周二',2]
* @return {String} 返回日期所在的周幾
* @example Q_core.date.get_week("20150316") <br> => 周一
* @method
*/
Q_core.date.get_week = function(dateStr, flag) {
var date = Q_core.date.to_date(dateStr);
flag = flag || 0;
var wi = date.getDay();
var weeks = '周' + ["日", "一", "二", "三", "四", "五", "六"][wi];
var result = flag == 0 ? weeks : flag == 1 ? wi : [weeks, wi];
return result;
};
/**************************************************************************************************************
*Q_core.string
***************************************************************************************************************/
/**
* @description 計(jì)算字符串長(zhǎng)度岔霸,中文字符算兩個(gè)
* @param {String} str 字符串【必選】
* @return {Number} 字符串的長(zhǎng)度
* @example Q_core.string.len('adf2asd中國(guó)') <br> => 9
* @method
*/
Q_core.string.len = function(str) {
return str.replace(/[^\x00-\xff]/g, "--").length;
};
/**
* @description 從字符串截取指定的長(zhǎng)度薛躬,中文字符算兩個(gè),如果取到中文之符一半,則舍掉這個(gè)中文
* @param {String} str 被截取的字符串【必選】
* @param {Number} len 要截取的長(zhǎng)度【必選】
* @param {String} [ext] 超過指定長(zhǎng)度后的后綴秉剑,默認(rèn)為空【可選】
* @return {String} 截取后的字符串
* @example Q_core.string.cut('adf2asd中國(guó)',5,'') <br> => adf2a
*/
Q_core.string.cut = function(str, len, ext) {
ext = ext || '';
if (Q_core.string.len(str) <= len - ext.length) {
return str;
}
len -= ext.length;
//雙字節(jié)字符替換成兩個(gè)//去掉臨界雙字節(jié)字符//還原
return str.substr(0, len).replace(/([^\x00-\xff])/g, "$1 ").substr(0, len).replace(/[^\x00-\xff]$/, "").replace(/([^\x00-\xff]) /g, "$1") + ext;
};
/**
* @description 取得URL中指定參數(shù)的值泛豪,簡(jiǎn)易版,復(fù)雜情況下沒做考慮,如侦鹏,多個(gè)同名參數(shù)诡曙,參數(shù)又是一個(gè)URL等
* @param {String} name 參數(shù)名字符串,如果帶#則取hash中的值【必選】
* @param {String} [url] URL【可選】 默認(rèn)為當(dāng)前頁(yè)面的URL
* @return {String} 指定參數(shù)的值
* @example Q_core.string.get_url_param('par','http://mm.cn?par=test') <br> => test
* @method
*/
Q_core.string.get_url_param = function(name, url) {
var m,
reg,
tmp;
url = (url || window.location.href).toLowerCase().split('#');
if (name.indexOf('#') != -1) {
tmp = url.length < 2 ? '' : url[1];
} else {
tmp = url[0];
}
m = tmp.match(new RegExp('(|[?&#])' + name.replace('#', '') + '=([^#&?]*)(\\s||$)', 'gi'));
if (m) {
return decodeURIComponent(m[0].split('=')[1]);
} else {
return '';
}
};
/**
* @description 批量替換
* @param {String} str 被替換的字符串 【必選】
* @param {Array} arr 替換規(guī)則 【必選】
* @return {String} 替換后的字符串
* @example Q_core.string.mul_replace('test',[['t','h'],['st','llo']]) <br> => hello;
* @method
*/
Q_core.string.mul_replace = function(str, arr) {
for (var i = 0,
l = arr.length; i < l; i++) {
str = str.replace(arr[i][0], arr[i][1]);
}
return str;
};
/**
* @description 把全角數(shù)字,空格,句號(hào)轉(zhuǎn)換成半角
* @param {String} str 被轉(zhuǎn)換的字符串 【必選】
* @return {Stirng} 替換后的字符串
* @example Q_core.string.dbc_to_sbc('3') <br> => 3
* @method
*/
Q_core.string.dbc_to_sbc = function(str) {
return Q_core.string.mul_replace(str, [[/[\uff01-\uff5e]/g,
function(a) {
return String.fromCharCode(a.charCodeAt(0) - 65248);
}], [/\u3000/g, ' '], [/\u3002/g, '.']]);
};
/**************************************************************************************************************
*Q_core.cookie
***************************************************************************************************************/
/**
* @description 得到指定的cookie值
* @param {String} name cookie名稱【必選】
* @param {Boolean} [encode] 是否encodeURIComponent 默認(rèn)false【可選】
* @return 指定cookie的值
* @example Q_core.cookie.get('name')
* @method
*/
Q_core.cookie.get = function(name, encode) {
var m = document.cookie.match(new RegExp("(^| )" + name + "=([^;])*", "gi")),
v = !m ? '' : m[0].split(name + '=')[1];
return (!!encode ? v : decodeURIComponent(v));
};
/**
* @description set設(shè)置cookie, del刪除cookie,當(dāng)expires小于0時(shí)即為刪除cookie
* @param {Object} options 【必選】
* @param {String} options.name cookie的名稱【必選】
* @param {String} options.value cookie的值【必選】
* @param {Number} [options.expires] cookie的過期時(shí)間略水,為整數(shù)价卤,單位為天,為負(fù)時(shí)刪除cookie【可選】
* @param {String} [options.domain] 指定cookie所屬的域【可選】
* @param {String} [options.path] 指定cookie 的路徑【可選】
* @param {Boolean} [options.secure] 是否安全傳輸 當(dāng)協(xié)議為https時(shí)才可用【可選】
* @param {Boolean} [options.encode] 是否對(duì)值進(jìn)行encodeURIComponent【可選】
* @example Q_core.cookie.set({name:'test',value:'ok'});
* @method
*/
Q_core.cookie.set = Q_core.cookie.del = function(options) {
var ck = [];
ck.push(options.name + '=');
if (options.value) {
ck.push(!!options.encode ? options.value : encodeURIComponent(options.value));
//是否encodeURIComponent
}
if (options.expires) {
var d = new Date();
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
d.setTime(d.getTime() + options.expires * 86400000);
//24 * 60 * 60 * 1000
ck.push(';expires=' + d.toGMTString());
}
if (options.domain) {
ck.push(';domain=' + options.domain);
}
ck.push(';path=' + (options.path || '/'));
if (options.secure) {
ck.push(';secure');
}
document.cookie = ck.join('');
};
//**************************************************************************************************************
return Q_core;
});
格式化時(shí)間戳
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門缆娃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捷绒,“玉大人,你說我怎么就攤上這事贯要∨龋” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵崇渗,是天一觀的道長(zhǎng)字逗。 經(jīng)常有香客問我,道長(zhǎng)宅广,這世上最難降的妖魔是什么葫掉? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮乘碑,結(jié)果婚禮上挖息,老公的妹妹穿的比我還像新娘金拒。我一直安慰自己兽肤,他們只是感情好套腹,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著资铡,像睡著了一般电禀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上笤休,一...
- 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼窍奋!你這毒婦竟也來了荐健?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤琳袄,失蹤者是張志新(化名)和其女友劉穎江场,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窖逗,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡址否,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年云头,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谜疤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布瘟斜,位于F島的核電站,受9級(jí)特大地震影響痪寻,放射性物質(zhì)發(fā)生泄漏螺句。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一橡类、第九天 我趴在偏房一處隱蔽的房頂上張望蛇尚。 院中可真熱鬧,春花似錦顾画、人聲如沸取劫。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谱邪。三九已至炮捧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惦银,已是汗流浹背咆课。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像迅栅,于是被迫代替她去往敵國(guó)和親善炫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- function getLocalTime(nS) { return new Date(parseInt(nS) ...
- 前言:iOS中把時(shí)間轉(zhuǎn)化成“剛剛拜英、幾分鐘前静汤、幾小時(shí)前、幾天前居凶、某月某日幾點(diǎn)幾分虫给、.......”格式這就需要看后臺(tái)...
- 前言:iOS中把時(shí)間轉(zhuǎn)化成“剛剛、幾分鐘前替饿、幾小時(shí)前语泽、幾天前、某月某日幾點(diǎn)幾分视卢、.......”格式這就需要看后臺(tái)...
- 今天突然之間加了一個(gè)rxlifecycle包后出現(xiàn)了一個(gè)警告錯(cuò)誤: 解決方案:在app下的build.gradle...
- 1 春節(jié)期間据过,你被逼婚了嗎惋砂? 這個(gè)話題一出蔬充,很多單身男女可謂是悲憤交加,欲哭無淚班利。 不僅是父母和七大姑八大姨,就連...