一个项目少不了的就是utils.js的封装了,以后还会加,欢迎补充,总结如下:
utils的封装目录
判断是否为空
export function validatenull(val) {
if (typeof val === 'boolean') {
return false
}
if (val instanceof Array) {
if (val.length === 0) return true
} else if (val instanceof Object) {
if (JSON.stringify(val) === '{}') return true
} else {
if (val === 'null' || val == null || val === 'undefined' || val === undefined || val === '') return true
}
return false
}
验证手机号:11位,以1开头,其余10位是数字
export function isMobile(val) {
let reg = new RegExp(/^1\d{10}$/);
if (reg.test(val)) {
return true;
} else {
return false;
}
}
// 加限制
export function isMobile(val) {
let reg = new RegExp(/^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/);
if (reg.test(val)) {
return true;
} else {
return false;
}
}
验证密码:至少6位,数字和英文均可
export function isPwd(val) {
let reg = new RegExp(/^[0-9A-Za-z]+$/);
// 4-16位 /^[0-9A-Za-z]{4,16}$/
if (val == null || val.length < 6) {
return false;
}
if (reg.test(val)) {
return true;
} else {
return false;
}
}
模拟toast弹窗效果 自定义
export function toast(msg, time) {
if (typeof (time) != Number) {
time = 3000;
}
if (validatenull(msg)) {
return;
}
let dom = document.createElement('div');
dom.id = 'msg_toast';
dom.innerHTML = '<span>' + msg + '</span>';
document.getElementById('app').appendChild(dom);
dom.addEventListener('click', function () {
document.getElementById('app').removeChild(dom);
})
setTimeout(function () {
document.getElementById('app').removeChild(dom);
}, time);
}
/* Toast样式 */
#msg_toast {
position: absolute;
left: 0;
right: 0;
bottom: 20%;
text-align: center;
z-index: 998;
}
#msg_toast span {
height: 0.88rem;
max-width: 50%;
background: #666;
padding: 0.1rem 0.2rem;
border-radius: 0.05rem;
color: #eee;
}
promptBox自定义
//以取消开头颜色才适配 promptBox({title:'标题',cnt:'内容',desc:'副内容',btns:['取消','确认']},function(){})
export function promptBox(tip, succBack) {
if (validatenull(tip)) {
return;
}
let dom = document.createElement('div');
dom.id = 'tipBox';
if (document.querySelectorAll("#tipBox").length > 0) {
document.body.removeChild(document.querySelectorAll("#tipBox")[0]);
}
let tdesc = ""
if (!validatenull(tip.desc)) {
tdesc = '<p class="tdesc">' + tip.desc || "" + '</p>'
}
let btns = "";
let arr = tip.btns;
if (!validatenull(arr)) {
for (let i = 0; i < arr.length; i++) {
let style1 = "";
let style2 = "";
if (arr.length > 1 && (i == 0)) {
style1 = "color:#666;";
style2 = "border-right: 1px #e0e0e0 solid;box-sizing: border-box;";
}
btns += '<div class="btn" style="' + style2 + '" ><button style="' + style1 + '">' + arr[i] + '</button></div>';
}
}
dom.innerHTML = '<div class="blackBg"></div><div class="whiteBg">' +
'<p class="tTitle">' + (tip.title ? tip.title : "提示") + '</p><p class="cltCnt">' +
(tip.cnt || "") + '</p>' + tdesc