H5中JavaScript常用代码片段

简介: /** * 批量替换方法,批量过滤特殊字符,通常用在通过后的各种编辑器添加的内容在App上编辑上使用 * james.wang 2016-11-11 * 使用方法:ReCont(Content,["", "", "", ""]) * @param {Object} strCont...
/**
 * 批量替换方法,批量过滤特殊字符,通常用在通过后的各种编辑器添加的内容在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, "\n");
                break;
            case '<br/>':
                strCont = strCont.replace(reg, "\n");
                break;
            case '<p>':
                strCont = strCont.replace(reg, "");
                break;
            case '</p>':
                strCont = strCont.replace(reg, "\n");
                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 '\r\n':
                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\n2\n3\n";
//将字母\n替换成分号
alert(r.replace(/\n/g, ";"));

结果:1;2;3; replace 的第一个参数可以是正则表达式,/g标识全文匹配。

 

学习交流群:364976091
相关文章
|
5月前
|
JavaScript
短小精悍的js代码
【10月更文挑战第17天】
157 58
|
3天前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
3天前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
19天前
|
人工智能 数据可视化 机器人
【通义灵码】三句话生成P5.js粒子特效代码,人人都可以做交互式数字艺术
我发掘出的通义灵码AI程序员新玩法:三句话生成P5.js粒子特效代码,人人都可以做交互式数字艺术
|
2月前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
151 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
19天前
|
人工智能 数据可视化 架构师
三句话生成 P5.js 粒子特效代码,人人都可以做交互式数字艺术
短短几分钟,两个完全不懂P5.js的人类,和通义灵码AI程序员一起,共同完成了有真实物理引擎和碰撞检测的3D仿真动画。人类扮演的角色更像产品经理和架构师,提出开发需求和迭代修改方案,而AI的作用更像码农,任劳任怨,熟练用各种编程语言完成技术底层的脏活累活。这只是AI编程的冰山一角,未来,每一个艺术家都能快速做出自己的创意原型,每一个数学老师都能轻松做出自己的教学动画。
|
21天前
|
自然语言处理 前端开发 JavaScript
20 个 JavaScript 简化技巧,让你的代码更上一层楼!
JavaScript 既灵活又强大,掌握以下20个技巧可助你编写更简洁高效的代码
|
2月前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
65 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
3天前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
3天前
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章