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 相关文章推荐
JavaScript 获得选中文本内容的方法
Feb 15 Javascript
js中判断控件是否存在
Aug 25 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
Jun 27 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
Dec 29 Javascript
JavaScript 学习笔记之变量及其作用域
Jan 14 Javascript
实现隔行换色效果的两种方式【实用】
Nov 27 Javascript
多种方式实现js图片预览
Dec 12 Javascript
AngularJS实现路由实例
Feb 12 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 jQuery
Node.js安装详细步骤教程(Windows版)详解
Sep 01 Javascript
JavaScript实现拖拽和缩放效果
Aug 24 Javascript
uniapp实现横向滚动选择日期
Oct 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
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
QQ登录简单实现代码
2021/03/09 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
代码详解JS操作剪贴板
2018/02/11 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
2018/10/25 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
python文件操作整理汇总
2014/10/21 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
python3实现基于用户的协同过滤
2018/05/31 Python
一百多行python代码实现抢票助手
2018/09/25 Python
python字符串循环左移
2019/03/08 Python
Python中的字符串切片(截取字符串)的详解
2019/05/15 Python
python3使用GUI统计代码量
2019/09/18 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
python 项目目录结构设置
2020/02/14 Python
python文件及目录操作代码汇总
2020/07/08 Python
python类共享变量操作
2020/09/03 Python
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
员工培训心得体会
2013/12/30 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
旷工检讨书1000字
2015/01/01 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
VUE递归树形实现多级列表
2022/07/15 Vue.js