/** * 工具类 */ var utils = { /** * scene解码 */ scene_decode(e) { if (e === undefined) return {}; let scene = decodeURIComponent(e), params = scene.split(','), data = {}; for (let i in params) { var val = params[i].split(':'); val.length > 0 && val[0] && (data[val[0]] = val[1] || null) } return data; }, /** * 格式化日期格式 (用于兼容ios Date对象) */ format_date(time) { // 将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 return time.replace(/\-/g, "/"); }, /** * 格式化详情内容,去除图片之间的间隙,图片宽度最大100% */ format_content(str) { return str.replace(/\ { _result.push(key + "=" + _value); }); } else { _result.push(key + '=' + value); } } return _result.join('&'); }, /** * 遍历对象 */ objForEach(obj, callback) { Object.keys(obj).forEach((key) => { callback(obj[key], key); }); }, /** * 是否在数组内 */ inArray(search, array) { for (var i in array) { if (array[i] == search) { return true; } } return false; }, /** * 判断是否为正整数 */ isPositiveInteger(value) { return /(^[0-9]\d*$)/.test(value); }, /** * 获取场景值(scene) */ getSceneData(query) { return query.scene ? this.scene_decode(query.scene) : {}; }, // 判断是否为身份证 isVail(value) { if (!/^\d{17}(\d|x)$/i.test(value)) { return false; } var now = new Date(); var yYear = Number(value.substr(6, 4)); var yMonth = Number(value.substr(10, 2)) + 1; var yDay = Number(value.substr(12, 2)); var birthFlag = false; if (yYear <= Number(now.getFullYear()) && yYear > 0) { if (yMonth <= 12 && yMonth > 0) { // 获取当月天数 var preMonth = new Date(yYear, yMonth - 1, 0); if (yDay <= preMonth.getDate() && yDay > 0) { birthFlag = true; } } } if (!birthFlag) { return false; } var iSum = 0; value = value.replace(/x$/i, "a"); for (var i = 17; i >= 0; i--) { iSum += (Math.pow(2, i) % 11) * parseInt(value.charAt(17 - i), 11); } if (iSum % 11 != 1) { return false; } return true }, // 判断是否为手机号 isPoneAvailable(pone) { var myreg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/; if (!myreg.test(pone)) { return false; } else { return true; } }, // 判断是否为座机或者手机号 isTelAvailable(tel) { var myreg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/; var myregs = /^[1][3,4,5,6,7,8,9][0-9]{9}$/; var flag = false; if (myreg.test(tel)) { flag = true; } if (myregs.test(tel)) { flag = true; } if(flag){ return true }else{ return false } }, // 判断是否为电子邮箱 isMail(mail) { var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (filter.test(mail)){ return true; } else { return false; } }, // 判断是否为数字 isNum(num) { var filter = /^[0-9]*$/; if (filter.test(num)){ return true; } else { return false; } } }; export default utils;