first commit
This commit is contained in:
171
common/utils.js
Normal file
171
common/utils.js
Normal file
@ -0,0 +1,171 @@
|
||||
/**
|
||||
* 工具类
|
||||
*/
|
||||
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)) {
|
||||
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;
|
||||
Reference in New Issue
Block a user