| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- var dictUtils = {
- // 处理状态
- dealStateStr: {
- 0: "尚未处理",
- 1: "处理成功",
- 2: "处理失败"
- },
- getDealStateStr: function(state) {
- return this.dealStateStr[state]
- }
- }
- function formatTime(time, showHour=true) {
- if (typeof time !== 'number' || time < 0) {
- return time
- }
- var timeArr = []
- var hour = ''
- if (showHour) {
- hour = parseInt(time / 3600)
- time = time % 3600
- timeArr.push(hour)
- }
-
- var minute = parseInt(time / 60)
- timeArr.push(minute)
-
- time = time % 60
- var second = time
- timeArr.push(second)
- return (timeArr).map(function(n) {
- n = n.toString()
- return n[1] ? n : '0' + n
- }).join(':')
- }
- function formatLocation(longitude, latitude) {
- if (typeof longitude === 'string' && typeof latitude === 'string') {
- longitude = parseFloat(longitude)
- latitude = parseFloat(latitude)
- }
- longitude = longitude.toFixed(2)
- latitude = latitude.toFixed(2)
- return {
- longitude: longitude.toString().split('.'),
- latitude: latitude.toString().split('.')
- }
- }
- var dateUtils = {
- UNITS: {
- '年': 31557600000,
- '月': 2629800000,
- '天': 86400000,
- '小时': 3600000,
- '分钟': 60000,
- '秒': 1000
- },
- humanize: function(milliseconds) {
- var humanize = '';
- for (var key in this.UNITS) {
- if (milliseconds >= this.UNITS[key]) {
- humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前';
- break;
- }
- }
- return humanize || '刚刚';
- },
- format: function(dateStr) {
- var date = this.parse(dateStr)
- var diff = Date.now() - date.getTime();
- if (diff < this.UNITS['天']) {
- return this.humanize(diff);
- }
- var _format = function(number) {
- return (number < 10 ? ('0' + number) : number);
- };
- return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDate()) + '-' +
- _format(date.getHours()) + ':' + _format(date.getMinutes());
- },
- parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象
- var a = str.split(/[^0-9]/);
- return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
- }
- };
- var mobileUtils = {
- // 移动
- isChinaMobile: /^134[0-8][0-9]{7}$|^(13[5-9]|14[4|7|8]|15[0|1|2|4|7|8|9]|16[5]|17[8]|18[2|3|4|7|8]|19[5|8])[0-9]{8}$/,
- // 联通
- isChinaUnion: /^(13[0-2]|14[0|5|6]|15[5-6]|16[6-7]|17[5-6]|18[5-6])[0-9]{8}$/,
- // 电信
- isChinaTelcom: /^(133|14[1|9]|15[3]|16[2]|17[3|7]|18[0|1|9]|19[1|3|9])[0-9]{8}|(1349)[0-9]{7}$/,
- // 虚拟运营商
- isVNO: /^(17[0-1])[0-9]{8}$/,
- checkMobile: function(telphone) {
- if (telphone.length > 0) {
- telphone = telphone.trim();
- } else {
- return this.setReturnJson(false, '请输入手机号');
- }
- if (telphone.length !== 11) {
- return this.setReturnJson(false, '手机号码长度不符');
- }
- if (this.isChinaMobile.test(telphone)) {
- return this.setReturnJson(true, '移动', {
- name: 'ChinaMobile'
- });
- } else if (this.isChinaUnion.test(telphone)) {
- return this.setReturnJson(true, '联通', {
- name: 'ChinaUnion'
- });
- } else if (this.isChinaTelcom.test(telphone)) {
- return this.setReturnJson(true, '电信', {
- name: 'ChinaTelcom'
- });
- } else if (this.isVNO.test(telphone)) {
- return this.setReturnJson(true, '虚拟运营商', {
- name: 'VNO'
- });
- } else {
- return this.setReturnJson(false, '手机号码不正确');
- }
- },
- setReturnJson: function(status, msg, data) {
- if (typeof status !== 'boolean' && typeof status !== 'number') {
- status = false;
- }
- if (typeof msg !== 'string') {
- msg = '';
- }
- return {
- 'status': status,
- 'msg': msg,
- 'data': data
- };
- }
- };
- var fileUtils = {
- // 获取(路径+)文件名后缀
- getFileExt(fileName) {
- if (fileName == '') return ''
- var index= fileName.lastIndexOf(".") // 获取最后一个.的位置
- if (index >= 0)
- return fileName.substring(index + 1)
- else
- return ''
- },
-
- isTypeImage(fileName) {
- let ext = this.getFileExt(fileName)
- if (ext == '')
- return false
-
- return [ 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff' ].indexOf(ext.toLowerCase()) !== -1;
- }
-
- }
- export {
- dictUtils,
- formatTime,
- formatLocation,
- dateUtils,
- mobileUtils,
- fileUtils
- }
|