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 相关文章推荐
js下利用控制器载入对应脚本
Jul 17 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
Sep 06 Javascript
js控制鼠标事件移动及移出效果显示
Oct 19 Javascript
JavaScript对象封装的简单实现方法(3种方法)
Jan 03 Javascript
详谈js遍历集合(Array,Map,Set)
Apr 06 Javascript
vue router使用query和params传参的使用和区别
Nov 13 Javascript
详解nuxt sass全局变量(公共scss解决方案)
Jun 27 Javascript
bootstrap模态框关闭后清除模态框的数据方法
Aug 10 Javascript
webpack 静态资源集中输出的方法示例
Nov 09 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
Feb 26 Javascript
关于AngularJS中几种Providers的区别总结
May 17 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
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
php字符串截取的简单方法
2013/07/04 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
jquery的live使用注意事项
2014/02/18 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
Python实现LRU算法的2种方法
2015/06/24 Python
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
Python计算两个日期相差天数的方法示例
2017/05/23 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
python交易记录整合交易类详解
2019/07/03 Python
python实现ip地址的包含关系判断
2020/02/07 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
保安员岗位职责
2013/11/17 职场文书
卡特教练观后感
2015/06/08 职场文书
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang