You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
3.4 KiB

1 year ago
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("&nbsp;", "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;
},
openMap(item) {
1 year ago
let data = {
type: 'map',
lon: item.lon,
lat: item.lat,
name: item.title,
address: item.address
}
1 year ago
uni.navigateTo({
1 year ago
url: '/subPackages/h5Web/h5Web?data=' + JSON.stringify(data)
1 year ago
})
},
showImg(img) {
if(!img) return;
if (img.indexOf('https://') != -1 || img.indexOf('http://') != -1) {
return img;
} else {
return 'https://tongli.sz-trip.com' + img;
}
1 year ago
},
// 跳回小程序
gotoDetailMini(item) {
console.log(item)
if(item.link_type == 1) {
// 外部小程序
1 year ago
// let data = {
// type: 'xcx',
// url: item.ext_link
// }
// uni.navigateTo({
// url: '/subPackages/h5Web/h5Web?data=' + JSON.stringify(data)
// })
wx.navigatetominiprogram({
shortLink: item.ext_link
1 year ago
})
return
}else if(item.link_type == 2){
// 外部H5
window.location.href = item.ext_link
return
}
switch (item.genre){
// 景点
case 'ticket':
uni.navigateTo({
url: '/subPackages/ticketBooking/detail?id=' + item.id
})
break;
// 酒店
case 'hotel':
uni.navigateTo({
url: '/subPackages/hotelHomestay/detail?id=' + item.id
})
break;
// 美食
case 'food':
uni.navigateTo({
url: '/subPackages/food/foodDetail?id=' + item.id
})
break;
// 攻略
case 'article':
uni.navigateTo({
url: '/subPackages/travelGuide/detail?id=' + item.id
})
break;
default:
break;
}
1 year ago
}
}
}
}