/**
* describe: 手机号中间四位显示*
*/
export function starPhone(phoneNum) {
let str = String(phoneNum),
strLen = str.slice(-7, -3);
return str.replace(strLen, "****");
}
/**
* 手机号+* 方法二
* */
export function starPhone2(phoneNum) {
var str = phoneNum
var str2 = str.substr(0, 3) + "****" + str.substr(7);
return str2;
}
/**
* describe: 数字千分位
*/
export function ThousandthPercentile(num) {
if (num === null) {
return num = 0;
} else {
if (num != undefined) {
return num = num.replace(/\d{1,3}(?=(\d{3})+(\.|$))/g, '$&,');
}
}
}
//保留n位小数
export function roundFun(val, n) {
return Math.round(val * Math.pow(10, n)) / Math.pow(10, n);
}
// 银行卡号脱敏
export function phoneFormat(val) {
return val.replace(/(\d{3})\d*(\d{4})/, '$1 **** **** $2')
}
//手机号验证
export function MobileVerification(val) {
let reg = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1|8|9]))\d{8}$/;
return reg.test(val);
}
// 银行卡号校验
export function yhkFication(val) {
let reg = /^[1-9]\d{9,29}$/
return reg.test(val)
}
//获取顶部参数
export function getUrlKey(name) {//获取url 参数
return decodeURIComponent(
(new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null;
}
export function handlerDatas(arr) {
let tempArr = [];
let endData = [];
for (let i = 0; i < arr.length; i++) {
if (tempArr.indexOf(arr[i].templateType) === -1) {
endData.push({
templateType: arr[i].templateType,
children: [arr[i]]
});
tempArr.push(arr[i].templateType);
} else {
for (let j = 0; j < endData.length; j++) {
if (endData[j].templateType == arr[i].templateType) {
endData[j].children.push(arr[i]);
break;
}
}
}
}
var newJosn = {};
for (var u in endData) {
newJosn['templateType_' + endData[u].templateType] = endData[u].children
}
console.log(newJosn); // 最终输出
return newJosn;
}
// 判断https/http
export function httpsUrl(name) {
//判断是否符合http://符合返回真不符合返回假
var http = /^http:\/\/.*/i.test(name);
//判断是否符合https://符合返回真不符合返回假
var https = /^https:\/\/.*/i.test(name);
let httpsBooter;
//如果两个都为假
if (!http && !https) {
httpsBooter = false;
} else {
httpsBooter = true;
}
return httpsBooter
}
//获取url
export function httpslianjie(url, urlname) {
var parameter = url.substring(url.indexOf('?') + 1);
parameter = parameter.split('&');
var reg = /urlname=/g;
var menuCode = "";
for (var i = 0; i < parameter.length; i++) {
reg.lastIndex = 0;
if (reg.test(parameter[i])) {
menuCode = parameter[i].replace(urlname + "=", "");
break;
}
}
return menuCode;
}
// 小程序跳转
export function launchWeApp(info) {
if (info.active) {
var btn = document.getElementById(info.eleId);
let script = document.createElement("script");
script.type = "text/wxtag-template";
script.text = info.content
let html =
`<wx-open-launch-weapp style="width:100%;height:100%;display:block;" username="${info.username}" path="${info.url}">${script.outerHTML}</wx-open-launch-weapp>`;
btn.innerHTML = html;
btn.addEventListener("launch", info.launchEvent);
btn.addEventListener("error", info.errorEvent);
} else {
var btn = document.getElementById(info.eleId); //获取元素
let html =
`<view style="width:100%;height:100%;display:block;">${info.content}</view>`;
btn.innerHTML = html;
btn.addEventListener("click", info.noAtiveEvent);
}
}
export function launchApp(info) {
if (info.active) {
var btn = document.getElementById(info.eleId);
let script = document.createElement("script");
script.type = "text/wxtag-template";
script.text = info.content
let html =
`<wx-open-launch-app style="width:100%;height:100%;display:block;" appid="${info.appid}" extinfo="${info.extinfo}">${script.outerHTML}</wx-open-launch-app>`;
btn.innerHTML = html;
btn.addEventListener("launch", info.launchEvent);
btn.addEventListener("error", info.errorEvent);
} else {
var btn = document.getElementById(info.eleId); //获取元素
let html =
`<view style="width:100%;height:100%;display:block;">${info.content}</view>`;
btn.innerHTML = html;
btn.addEventListener("click", info.noAtiveEvent);
}
}
/**
* 数字格式化金额,整数位每三位用逗号隔开,小数点保留n位(默认保留两位)
*/
export function filterMoney(s, n) {
if (s !== null && typeof s !== 'undefined') {
n = n > 0 && n <= 20 ? n : 2;
s = `${parseFloat(`${s}`.replace(/[^\d\.-]/g, '')).toFixed(n)}`;
let l = s.split('.')[0].split('').reverse(),
r = s.split('.')[1];
let t = '';
for (let i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? ',' : '');
}
return `${t.split('').reverse().join('')}.${r}`;
}
return null;
}