前端实用技术整理 【持续更新】

2019-10-16  本文已影响0人  小奉不在乎

JS判断上传的文件类型

判断图片:

if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(file.name)){
    alert("图片类型必须是.gif,jpeg,jpg,png中的一种");
    return;
}

判断Excel文档:


if (!/\.(xlsx|xls|XLSX|XLS)$/.test(file.name)) {
    alert("文件类型必须是.xlsx,xls中的一种");
    return;
}

input赋值和清空:

// 清空
$("#idName“).val("")
// 赋值
$("#idName").attr("value", value);

带负号保留两位小数:

<input type="text"
       onkeyup="clearNoNum(this)"
       onblur="clearDot(obj)"
       placeholder="带负号保留两位小数">
<script>
    //带负数保留两位小数
    function clearNoNum(obj) {
        obj.value = obj.value.replace(/[^\d.-]/g,""); //清除"数字"和"."和"-"以外的字符
        obj.value = obj.value.replace(/^[^-|\d]{1}/g,""); //只能以"-"和数字开头
        obj.value = obj.value.replace(/([\d.-])(-)/g,"$1"); //清除"数字"或"."或"-" 后面的"-"
        obj.value = obj.value.replace(/(-)(\.)/g,"$1"); //清除"-" 后面的"."
        obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");//只保留一个"."
        obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
    }
    //如果末尾为".",则失去焦点后清除小数点
    function clearDot(obj) {
        obj.value = obj.value.replace(/\.$/g,""); //如果末尾没有数值则清除末尾的"."
    }
</script>

保留两位小数:

<input type="text"
       onkeyup="clearNoNum(this)"
       onblur="clearDot(obj)"
       placeholder="保留两位小数">
<script>
    //限制input输入保留两位小数
    function num(obj) {
        obj.value = obj.value.replace(/[^\d.]/g, ""); //只能输入两位小数
        obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字
        obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的
        obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
        obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
        if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
            if(obj.value.substr(0,1) == '0' && obj.value.length == 2){
                obj.value= parseFloat(obj.value);
            }
        }
    }
</script>

高德地图POI搜索去除数字点

/*傻瓜式把图片链接给搞成空的*/
.amap_lib_placeSearch_poi{
    display: none;
}
.selected .amap_lib_placeSearch_poi {
    display: none;
}

forEach网络请求异步转同步

$scope.cars.forEach(function(item,index){
    setTimeout(function(){
            carService.getDriverById({"id": item.driverId}).then(function (data) {
                if (data.code === "200"){
                    item.driverName = data.data.data.realname;
                    item.driverPhone = data.data.data.mobile;
                }
            }, function (data) {
                
            });
        },
        500 * index);
})

JS对Date的扩展

/**
     *对Date的扩展,将 Date 转化为指定格式的String
     *月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
     *年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
     *例子:
     *(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
     *(new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
     */
    Date.prototype.format = function (fmt) {
        var o = {
            "M+": this.getMonth() + 1, //月份
            "d+": this.getDate(), //日
            "h+": this.getHours(), //小时
            "m+": this.getMinutes(), //分
            "s+": this.getSeconds(), //秒
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度
            "S": this.getMilliseconds() //毫秒
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
            if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    };
上一篇下一篇

猜你喜欢

热点阅读