javascript学习笔记之10个原生技巧


Posted in Javascript onMay 21, 2014

1、原生JavaScript实现字符串长度截取

function cutstr(str, len) {
    var temp;
    var icount = 0;
    var patrn = /[^\x00-\xff]/;
    var strre = "";
    for (var i = 0; i < str.length; i++) {
        if (icount < len - 1) {
            temp = str.substr(i, 1);
            if (patrn.exec(temp) == null) {
                icount = icount + 1
            } else {
                icount = icount + 2
            }
            strre += temp
        } else {
            break
        }
    }
    return strre + "..."
}

2、原生JavaScript获取域名主机

function getHost(url) {
    var host = "null";
    if(typeof url == "undefined"|| null == url) {
        url = window.location.href;
    }
    var regex = /^\w+\:\/\/([^\/]*).*/;
    var match = url.match(regex);
    if(typeof match != "undefined" && null != match) {
        host = match[1];
    }
    return host;
}

3、原生JavaScript清除空格

String.prototype.trim = function() {
    var reExtraSpace = /^\s*(.*?)\s+$/;
    return this.replace(reExtraSpace, "$1")
}

4、原生JavaScript替换全部

String.prototype.replaceAll = function(s1, s2) {
    return this.replace(new RegExp(s1, "gm"), s2)
}

5、原生JavaScript转义html标签

function HtmlEncode(text) {
    return text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>')
}

6、原生JavaScript还原html标签

function HtmlDecode(text) {
    return text.replace(/&/g, '&').replace(/"/g, '\"').replace(/</g, '<').replace(/>/g, '>')
}

7、原生JavaScript时间日期格式转换

Date.prototype.Format = function(formatStr) {
    var str = formatStr;
    var Week = ['日', '一', '二', '三', '四', '五', '六'];
    str = str.replace(/yyyy|YYYY/, this.getFullYear());
    str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
    str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
    str = str.replace(/M/g, (this.getMonth() + 1));
    str = str.replace(/w|W/g, Week[this.getDay()]);
    str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
    str = str.replace(/d|D/g, this.getDate());
    str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
    str = str.replace(/h|H/g, this.getHours());
    str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
    str = str.replace(/m/g, this.getMinutes());
    str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
    str = str.replace(/s|S/g, this.getSeconds());
    return str
}

8、原生JavaScript判断是否为数字类型

function isDigit(value) {
    var patrn = /^[0-9]*$/;
    if (patrn.exec(value) == null || value == "") {
        return false
    } else {
        return true
    }
}

9、原生JavaScript设置cookie值

function setCookie(name, value, Hours) {
    var d = new Date();
    var offset = 8;
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
    var nd = utc + (3600000 * offset);
    var exp = new Date(nd);
    exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"
}

10、原生JavaScript获取cookie值

function getCookie(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]);
    return null
}
Javascript 相关文章推荐
使用IE的地址栏来辅助调试Web页脚本
Mar 08 Javascript
深入理解Javascript闭包 新手版
Dec 28 Javascript
Javascript图片上传前的本地预览实例
Jun 16 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 Javascript
js判断上传文件后缀名是否合法
Jan 28 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
Vue.js 踩坑记之双向绑定
May 03 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
Apr 07 Javascript
详解基于原生JS验证表单组件xy-form
Aug 20 Javascript
关于Vue中axios的封装实例详解
Oct 20 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 Javascript
微信小程序自定义支持图片的弹窗
Dec 21 Javascript
jquery实现预览提交的表单代码分享
May 21 #Javascript
javascript制作的网页侧边弹出框思路及实现代码
May 21 #Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
May 21 #Javascript
Jquery的each里用return true或false代替break或continue
May 21 #Javascript
alert和confirm功能介绍
May 21 #Javascript
采用call方式实现js继承
May 20 #Javascript
Js+Jq获取URL参数的集中方法示例代码
May 20 #Javascript
You might like
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
php中的mongodb select常用操作代码示例
2014/09/06 PHP
php获取图片信息的方法详解
2015/12/10 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
php swoft框架实例用法
2020/12/22 PHP
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
python超简单解决约瑟夫环问题
2015/05/12 Python
Django框架模板用法入门教程
2019/11/04 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
美国领先的汽车轮胎和轮毂供应商:TireBuyer
2016/07/21 全球购物
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
九州传奇上机题
2014/07/10 面试题
工程造价专业大学生职业规划范文
2014/03/09 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
共青团员自我评价范文
2014/09/14 职场文书
社区灵活就业证明
2014/11/03 职场文书
技术员个人工作总结
2015/03/03 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
Python OpenCV超详细讲解基本功能
2022/04/02 Python