• H5中JavaScript常用代码片段


    /**
     * 批量替换方法,批量过滤特殊字符,通常用在通过后的各种编辑器添加的内容在App上编辑上使用
     * james.wang 2016-11-11
     * 使用方法:ReCont(Content,["<br>", "<br/>", "<p>", "</p>"])
     * @param {Object} strCont 要替换的内容
     * @param {Object} array   内容里需要替换的字符串数组
     */
    function ReEditer(strCont, array) {
        for (var i in array) {
            var item = array[i];
            //alert(item);
            var reg = new RegExp("\" + item, "g");
            switch(item) {
                case '<br>':
                    strCont = strCont.replace(reg, "
    ");
                    break;
                case '<br/>':
                    strCont = strCont.replace(reg, "
    ");
                    break;
                case '<p>':
                    strCont = strCont.replace(reg, "");
                    break;
                case '</p>':
                    strCont = strCont.replace(reg, "
    ");
                    break;
                case '&nbsp;':
                    strCont = strCont.replace(reg, " ");
                    break;
                default:
                    strCont = strCont.replace(reg, "");
                    break;
            }
        }
        return strCont;
    }
    /**
     * 获取所有选中的checkbox值
     * 返回值是以逗号分隔的字符串,如:2562,2568,6532,5268  如果没有选择返回空
     */
    function getCheckBox() {
        var chk_value = [];
        var stringValue = "";
        $('input[name="grade"]:checked').each(function() {
            chk_value.push($(this).val());
        });
        if (chk_value.length == 0)
            return "";
        else {
            for (var i in chk_value) {
                stringValue += chk_value[i] + ',';
            }
    stringValue=stringValue.substring(0, stringValue.length - 1); //去掉最后一个逗号 }
    return stringValue; }
    /*
     *生成唯一字符串 
     */
    function NewGuid() {
        function S4() {
            return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
        }
    
        return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
    }
    /**
     * 拼接图片附件,在图片路径前加上当前域名做为全路径
     * @param {Object} attachments 以逗号分隔的附件字符串
     */
    function pathString(attachments) {
        if (attachments != '' && attachments != '&nbsp;' && attachments != null) {
            var pathStr = '';
            var attArr = attachments.split(',');
            for (var i in attArr) {
                pathStr += host + attArr[i] + ",";
            }
            return pathStr.substring(0, pathStr.length - 1);
        } else {
            return '';
        }
    }
    /**
     *把在textarea的换行符和空格符替换为相应的html表达字符 
     * @param {Object} strCont
     * @param {Object} array
     */
    function Retextarea(strCont, array) {
        for (var i in array) {
            var item = array[i];
            var reg = new RegExp("\" + item, "g");
            switch(item) {
                case '
    ':
                    strCont = strCont.replace(reg, "<br/>");
                    break;
                case ' ':
                    strCont = strCont.replace(reg, "&nbsp;");
                    break;
                default:
                    strCont = strCont.replace(reg, "");
                    break;
            }
        }
        return strCont;
    }
    // 对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) { //author: meizz 
        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;
    }
    /**
     * js截取字符串,中英文都能用
     * @param str:需要截取的字符串
     * @param len: 需要截取的长度
     */
    function cutstr(str, len) {
        var str_length = 0;
        var str_len = 0;
        str_cut = new String();
        str_len = str.length;
        for (var i = 0; i < str_len; i++) {
            a = str.charAt(i);
            str_length++;
            if (escape(a).length > 4) {
                //中文字符的长度经编码之后大于4
                str_length++;
            }
            str_cut = str_cut.concat(a);
            if (str_length >= len) {
                str_cut = str_cut.concat("...");
                return str_cut;
            }
        }
        //如果给定字符串小于指定长度,则返回源字符串;
        if (str_length < len) {
            return str;
        }
    }

     JQuery、js判断复选框是否选中状态

    //JQuery:
    
    var $isChecked = $("#id").is(":checked");
    
    alert($isChecked);
    
    //JS:
    
    var $id = document.getElementById("id");
    
    alert($id.checked);
    
    //Notes:
    
    //JQuery中,is函数里的必须要有冒号,否则不见效;
    
    //JS中,必须调用checked 即>>> .checked
    //把时间戳转换为当前日期
    function ToTime(timestamp) {
        var newDate = new Date();
        newDate.setTime(timestamp);
        return formatDate(newDate);
    }
    //把时间转换为想要的格式
    function formatDate(dateTimeStamp) {
        var year = dateTimeStamp.getFullYear();
        var month = dateTimeStamp.getMonth() + 1;
        var date = dateTimeStamp.getDate();
        var hour = dateTimeStamp.getHours();
        var minute = dateTimeStamp.getMinutes();
        var second = dateTimeStamp.getSeconds();
        //今天的时间戳
        var p_minute = 1000 * 60;
        var p_hour = p_minute * 60;
        var p_day = p_hour * 24;
        var p_month = p_day * 30;
        var nowtTimeStamp = new Date().getTime();
        var diffValue = nowtTimeStamp - dateTimeStamp;
        var monthC = diffValue / p_month;
        var weekC = diffValue / (7 * p_day);
        var dayC = diffValue / p_day;
        var hourC = diffValue / p_hour;
        var minC = diffValue / p_minute;
        //现在的时间
        var dateN = new Date();
        var hourD = hourC - dateN.getHours();
        var dayD = dayC - dateN.getDate();
        //alert(dayC+','+monthC);
    
        if (hourD < 0) {
            result = hour + ":" + minute;
        } else if (hourD > 0 && hourD < 24) {
            result = "昨天 " + hour + ":" + minute;
        } else if (dayC > 2 && monthC < 12) {
            //result = month + "月" + date + "日   " + hour + ":" + minute;
            result = month + "-" + date + " " + hour + ":" + minute;
        } else {
            //result = year + "年" + month + "月" + date + "日   " + hour + ":" + minute;
            //result = month + "月" + date + "日   " + hour + ":" + minute;
            result = month + "-" + date + " " + hour + ":" + minute;
        }
        return result;
    }
    //JS Replace 全部替换字符 用法.
    
    var r= "1
    2
    3
    ";
    //将字母
    替换成分号
    alert(r.replace(/
    /g, ";"));
    
    结果:1;2;3; replace 的第一个参数可以是正则表达式,/g标识全文匹配。
  • 相关阅读:
    Python函数
    Python的集合框架
    go的相关用法
    如何完整反编译AndroidMainfest.xml
    英语中时间的表达方法
    3. vue脚手架安装 express 框架使用 vue框架 weiUI
    2. TypeScript笔记
    基于SignalR的消息推送与二维码描登录实现
    MVC-Model数据注解(三)-Remote验证的一个注意事项
    MVC Remote属性验证
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/6055260.html
Copyright © 2020-2023  润新知