web-africa-h5/common/utils.js

235 lines
4.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 工具类
*/
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(/\<img/gi, '<img style="display:block; margin:0 auto; max-width:100%;" ');
},
/**
* 对象转URL
*/
urlEncode(data) {
var _result = [];
for (var key in data) {
var value = data[key];
if (value.constructor == Array) {
value.forEach(_value => {
_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)) {
console.log('长度不对')
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;
}
},
/*
数字转中文
*/
numberToChinese(num,type) {
/* const chineseNums = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
const chineseUnits = ['', '十', '百', '千'];
if (num === 0) {
return chineseNums[0];
}
let chineseStr = ''; */
/* let unitIndex = 0;
while (num > 0) {
const digit = num % 10;
if (digit !== 0) {
chineseStr = chineseNums[digit] + chineseUnits[unitIndex] + chineseStr;
} else if (chineseStr.charAt(0) !== chineseNums[0]) {
chineseStr = chineseNums[0] + chineseStr;
}
num = Math.floor(num / 10);
unitIndex++;
} */
// console.log(self,'self')
let chineseStr = "";
/* 季度 */
if(type == 'quarter'){
if(num == 1){
chineseStr = 'S_C_36'
}else if(num == 2){
chineseStr = 'S_C_37'
}else if(num == 3){
chineseStr = 'S_C_38'
}else if(num == 4){
chineseStr = 'S_C_39'
}
}else if(type == 'year'){
if(num == 1){
chineseStr = 'S_C_46'
}else if(num == 2){
chineseStr = 'S_C_47'
}else if(num == 3){
chineseStr = 'S_C_48'
}else if(num == 4){
chineseStr = 'S_C_49'
}else if(num == 5){
chineseStr = 'S_C_50'
}else if(num == 6){
chineseStr = 'S_C_51'
}else if(num == 7){
chineseStr = 'S_C_52'
}else if(num == 8){
chineseStr = 'S_C_53'
}else if(num == 9){
chineseStr = 'S_C_54'
}else if(num == 10){
chineseStr = 'S_C_55'
}else if(num == 11){
chineseStr = 'S_C_56'
}else if(num == 12){
chineseStr = 'S_C_57'
}
}else{
/* 月 */
if(num == 1){
chineseStr = 'S_C_11'
}else if(num == 2){
chineseStr = 'S_C_12'
}else if(num == 3){
chineseStr = 'S_C_13'
}else if(num == 4){
chineseStr = 'S_C_14'
}
}
return chineseStr;
},
/*
补零
*/
fillZ0(value){
if(!value){
return value
}
if(value.toString().length > 1){
return value
}
return `0${value}`
},
};
export default utils;