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 相关文章推荐
jQuery版Tab标签切换
Mar 16 Javascript
Javascript在IE和FireFox中的不同表现简析
Dec 03 Javascript
Jquery带搜索框的下拉菜单
May 06 Javascript
基于JavaScript短信验证码如何实现
Jan 24 Javascript
微信小程序  简单实例(阅读器)的实例开发
Sep 29 Javascript
详解用node-images 打造简易图片服务器
May 08 Javascript
node文字生成图片的示例代码
Oct 26 Javascript
JavaScript常见JSON操作实例分析
Aug 08 Javascript
JavaScript数据结构之栈实例用法
Jan 18 Javascript
微信小程序点击滚动到指定位置的实现
May 22 Javascript
在vue中使用防抖函数组件操作
Jul 26 Javascript
js数组的基本使用总结
Jan 18 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+mysql分页代码详解
2008/03/27 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
jQuery模仿单选按钮选中效果
2016/06/24 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
2017/07/23 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
python提取字典key列表的方法
2015/07/11 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
python交易记录链的实现过程详解
2019/07/03 Python
python如何读取bin文件并下发串口
2019/07/05 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
Python如何在bool函数中取值
2020/09/21 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
VICHY薇姿俄罗斯官方网上商店:法国护肤品牌,火山温泉水
2019/11/22 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
酒店营销策划方案
2014/02/07 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS