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类定义原型方法的两种实现的区别评论很多
Sep 12 Javascript
尝试在让script的type属性等于text/html
Jan 15 Javascript
js获取客户端外网ip的简单实例
Nov 21 Javascript
javascript实现微信分享
Dec 23 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
很实用的js选项卡切换效果
Aug 12 Javascript
js实现定时进度条完成后切换图片
Jan 04 Javascript
使用ionic播放轮询广告的实现方法(必看)
Apr 24 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
flexible.js实现移动端rem适配方案
Apr 07 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
Jul 21 Javascript
微信小程序接入vant Weapp组件的详细步骤
Oct 28 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 number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
Ionic快速安装教程
2016/06/03 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
python绘制中国大陆人口热力图
2018/11/07 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
python写一个随机点名软件的实例
2019/11/28 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
python xlsxwriter模块的使用
2020/12/24 Python
毕业生幼师求职自荐信
2013/10/01 职场文书
自我鉴定模板
2013/10/29 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
IT工程师岗位职责
2014/07/04 职场文书
2014年统战工作总结
2014/12/09 职场文书
客户经理岗位职责
2015/01/31 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
MySQL存储过程及语法详解
2022/08/05 MySQL