doomi-helper
Version:
Doomisoft NodeJs Common Utilities
71 lines (67 loc) • 2.44 kB
JavaScript
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;