const formatTime = date => { const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') } const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n } /** * 随机生成指定长度的字符串 * @param length * @returns {string} */ function randomString(length = 32) { const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' const maxPos = chars.length let _string = '' for (let i = 0; i < length; i++) { _string += chars.charAt(Math.floor(Math.random() * maxPos)) } return _string } function guid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } function findChildren(array, path) { var paths = path.replace(/^(\s|,)+|(\s|,)+$/g, '').split(',') if (paths.length === 0) return if (paths.length === 1) return array.filter(n => n.id === parseInt(paths[0]))[0] else { var child = array.filter(n => n.id === parseInt(paths[0]))[0].children var subpaths = paths subpaths.shift() return findChildren(child, subpaths.join(',')) } } /*用正则表达式实现html转码*/ function htmlEncodeByRegExp(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/&/g, "&"); s = s.replace(//g, ">"); s = s.replace(/ /g, " "); s = s.replace(/\'/g, "'"); s = s.replace(/\"/g, """); return s; } /*用正则表达式实现html解码*/ function htmlDecodeByRegExp(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/&/g, "&"); s = s.replace(/</g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/ /g, " "); s = s.replace(/'/g, "\'"); s = s.replace(/"/g, "\""); return s; } module.exports = { formatTime: formatTime, randomString: randomString, guid: guid, findChildren: findChildren, htmlEncodeByRegExp: htmlEncodeByRegExp, htmlDecodeByRegExp: htmlDecodeByRegExp }