UNPKG

doomi-helper

Version:

Doomisoft NodeJs Common Utilities

71 lines (67 loc) 2.44 kB
var uuid = require('node-uuid') class Utilities { /* * 判断对象是否为空 */ static isNullOrEmpty(value) { if (typeof (value) == "undefined" || value == null || value === '' || value === "undefined") return true; return false; } /* 随机生成字符串 */ static generateRandomSerial(length = 4, onlyNumber = true) { let serial = []; if (onlyNumber) { for (var i = 0; i < length; i++) serial.push(Math.floor(Math.random() * 10)); return serial.join(''); } var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/ var maxPos = $chars.length; for (i = 0; i < length; i++) serial.push($chars.charAt(Math.floor(Math.random() * maxPos))); return serial.join(''); } /** * 生成一些随机的兑换码 * @param {*} count */ static generateRandomCode(count){ var $chars = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; let returnValue = []; for (var jLoop=0;jLoop<count;jLoop++){ let seed = uuid.v4().split('-').join(''); let newValue = []; for (var iLoop = 0; iLoop < 8; iLoop++) { let str = seed.substring(iLoop * 4, (iLoop+1) * 4); let xValue = parseInt(str, 16); newValue.push($chars[xValue % 0x3E]); } returnValue.push(newValue.join('')) } return returnValue; } /* * 文字替换 */ static replace(originalStr, replFrom, replTo, ingoreCase = true) { // let regex = new RegExp(replFrom, "i", "g"); // return originalStr.replace(regex, replTo); if (!RegExp.prototype.isPrototypeOf(replFrom)) { return originalStr.replace(new RegExp(replFrom, (ingoreCase ? "gi" : "g")), replTo); } return originalStr.replace(replFrom, replTo); } /* * */ static ifNull(value, nullValue) { if (value == null || value == "undefined" || value == "null" || (typeof value != "boolean" && value == "")) return nullValue; return value; } //判断是否为方法 static isFunction(obj) { return obj != null && typeof (obj) === "function"; } } exports = module.exports = Utilities;