|
|
|
export default {
|
|
|
|
install(Vue) {
|
|
|
|
Vue.prototype.util = {
|
|
|
|
// 格式化富文本
|
|
|
|
formateRichText(str) {
|
|
|
|
if (!str) return "";
|
|
|
|
var reg = new RegExp("<img", "g");
|
|
|
|
str = str.replace(reg, "<img class='sz-xcx-fwb-img' width='100%'")
|
|
|
|
reg = new RegExp("<IMG", "g");
|
|
|
|
str = str.replace(reg, "<img class='sz-xcx-fwb-img' width='100%'")
|
|
|
|
reg = new RegExp(" ", "g");
|
|
|
|
str = str.replace(reg, '<span style="width: 8rpx;display: inline-block;"></span>')
|
|
|
|
reg = new RegExp("section", "g");
|
|
|
|
str = str.replace(reg, 'div');
|
|
|
|
reg = new RegExp("↵", "g");
|
|
|
|
str = str.replace(reg, '<br />');
|
|
|
|
str = str.replace(/<table/g, '<table border="1" cellspacing="0" style="border-collapse:collapse"')
|
|
|
|
return str;
|
|
|
|
},
|
|
|
|
// 手机号验证规则
|
|
|
|
mobileValid(val) {
|
|
|
|
return /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(val);
|
|
|
|
},
|
|
|
|
// 身份证验证规则
|
|
|
|
idNumberValid(val) {
|
|
|
|
return /^\d{17}(\d{1}|[X|x])$/.test(val);
|
|
|
|
},
|
|
|
|
// 护照验证正则
|
|
|
|
passportValid(val) {
|
|
|
|
return /^([a-zA-z]|[0-9]){5,17}$/.test(val);
|
|
|
|
},
|
|
|
|
// 台胞证正则
|
|
|
|
taiwanValid(val) {
|
|
|
|
return /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/.test(val);
|
|
|
|
},
|
|
|
|
// 港澳通行证正则
|
|
|
|
gangaoValid(val) {
|
|
|
|
return /^([A-Z]\d{6,10}(\(\w{1}\))?)$/.test(val);
|
|
|
|
},
|
|
|
|
// 外国人永久居留证正则
|
|
|
|
foreignerValid(val) {
|
|
|
|
return /(^[A-Za-z]{3})([0-9]{12}$)/.test(val);
|
|
|
|
},
|
|
|
|
// 军官证正则
|
|
|
|
officerValid(val) {
|
|
|
|
return /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/.test(val);
|
|
|
|
},
|
|
|
|
// 邮箱验证正则
|
|
|
|
emailValid(val) {
|
|
|
|
return /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(val)
|
|
|
|
},
|
|
|
|
// 获取路径参数
|
|
|
|
getUrlPara(url) {
|
|
|
|
let arrUrl = url.split("?");
|
|
|
|
let para = arrUrl[1];
|
|
|
|
return para ? para.split('&') : false;
|
|
|
|
},
|
|
|
|
showImg(img) {
|
|
|
|
if(!img) return;
|
|
|
|
if (img.indexOf('https://') != -1 || img.indexOf('http://') != -1) {
|
|
|
|
return img;
|
|
|
|
} else {
|
|
|
|
return process.env.VUE_APP_URL + img;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
imgToBase64(img) {
|
|
|
|
let reader = new FileReader();
|
|
|
|
reader.readAsDataURL(img);
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
reader.onload = () => {
|
|
|
|
resolve(reader.result);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
copyId(value) {
|
|
|
|
const input = document.createElement('input');
|
|
|
|
input.value = value;
|
|
|
|
document.body.appendChild(input);
|
|
|
|
input.select();
|
|
|
|
document.execCommand('copy');
|
|
|
|
document.body.removeChild(input);
|
|
|
|
|
|
|
|
Vue.prototype.$message({
|
|
|
|
message: '复制成功',
|
|
|
|
type: 'success'
|
|
|
|
});
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|