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 基础篇之运算符、语句(二)
Apr 07 Javascript
JavaScript实现Flash炫光波动特效
May 14 Javascript
jquery+ajax实现直接提交表单实例分析
Jun 17 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
谈谈JavaScript的New关键字
Aug 26 Javascript
BootStrapTable服务器分页实例解析
Dec 20 Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 Javascript
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 jQuery
Vue 全家桶实现移动端酷狗音乐功能
Nov 16 Javascript
Swiper.js实现移动端元素左右滑动
Sep 08 Javascript
深入理解Antd-Select组件的用法
Feb 25 Javascript
react中props 的使用及进行限制的方法
Apr 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 imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
python语言使用技巧分享
2016/05/31 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
python关于变量名的基础知识点
2020/03/03 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
毕业生自荐书
2013/12/18 职场文书
机关搬迁方案
2014/05/18 职场文书
2014年计生标语
2014/06/23 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL