/** * 格式化时间函数 * @param {format} 时间显示格式 */ Date.prototype.format = function (format) { var date = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), "S+": this.getMilliseconds() }; if (/(y+)/i.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (var k in date) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length)); } } return format; }; String.prototype.format = function (args) { if (arguments.length > 0) { var result = this; if (arguments.length == 1 && typeof (args) == "object") { for (var key in args) { var reg = new RegExp("({" + key + "})", "g"); result = result.replace(reg, args[key]); } } else { for (var i = 0; i < arguments.length; i++) { if (arguments[i] == undefined) { result = result.replace(reg, arguments[i]); } else { var reg = new RegExp("({[" + i + "]})", "g"); result = result.replace(reg, arguments[i]); } } } return result; } else { return this; } } String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, '') }; function StringBuilder() { this.__values = new Array(); }; StringBuilder.prototype.appendLine = function (v) { this.__values.push(v); } StringBuilder.prototype.toString = function () { return this.__values.join(''); } Number.prototype.toFixed = function (d) { var s = this + ""; if (!d) d = 0; if (s.indexOf(".") == -1) s += "."; s += new Array(d + 1).join("0"); if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0," + (d + 1) + "})?)\\d*$").test(s)) { var s = "0" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true; if (a == d + 2) { a = s.match(/\d/g); if (parseInt(a[a.length - 1]) > 4) { for (var i = a.length - 2; i >= 0; i--) { a[i] = parseInt(a[i]) + 1; if (a[i] == 10) { a[i] = 0; b = i != 1; } else break; } } s = a.join("").replace(new RegExp("(\\d+)(\\d{" + d + "})\\d$"), "$1.$2"); } if (b) s = s.substr(1); return (pm + s).replace(/\.$/, ""); } return this + ""; } //限制只能键入数字,flage:是否验证‘.’传入则不可以输入‘.’ function entNumber(e, flage) { e = e || window.event; var keyCode = e.keyCode || e.which; if (!(keyCode == 46) && !(keyCode == 8) && !(keyCode == 37) && !(keyCode == 39) && !(keyCode == 17) && !(keyCode == 13) && ctrlKey()) { if (!((keyCode >= 48 && keyCode <= 57) || (keyCode == 110 || keyCode == 190) || keyCode == 9 || (keyCode >= 96 && keyCode <= 105))) stopDefault(e); if (flage) if (!((keyCode >= 48 && keyCode <= 57) || keyCode == 9 || (keyCode >= 96 && keyCode <= 105))) stopDefault(e); } //ctrl+c/v/a/x/z function ctrlKey() { return !(e.ctrlKey && keyCode == 67) && !(e.ctrlKey && keyCode == 86) && !(e.ctrlKey && keyCode == 65) && !(e.ctrlKey && keyCode == 88) && !(e.ctrlKey && keyCode == 90) } } function getKeyCode(e) { e = e || window.event; return e.keyCode || e.which; } //阻止浏览器的默认行为 function stopDefault(e) { e = e || window.event; if (e.preventDefault) e.preventDefault(); //其他浏览器 else e.returnValue = false; //IE浏览器 } /** * 阻止事件(包括冒泡和默认行为) * */ function stopEvent(e) { e = e || window.event; if (e.preventDefault) { //其他浏览器 e.preventDefault(); e.stopPropagation(); } else { //IE浏览器 e.returnValue = false; e.cancelBubble = true; } }; //过滤HTML标签 String.prototype.removeHtmlTab = function () { return this.replace(/<[^<>]+?>/g, ''); } //HTML标签字符转换成转意符 String.prototype.html2Escape = function () { return this.replace(/[<>&"]/g, function (c) { return { '<': '<', '>': '>', '&': '&', '"': '"'}[c]; }); } //转意符换成HTML标签 String.prototype.escape2Html = function () { var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"' }; return this.replace(/&(lt|gt|nbsp|amp|quot);/ig, function (all, t) { return arrEntities[t]; }); } // 转成空格 String.prototype.nbsp2Space = function () { var arrEntities = { 'nbsp': ' ' }; return this.replace(/&(nbsp);/ig, function (all, t) { return arrEntities[t] }) } //回车转为br标签 String.prototype.return2Br = function () { return this.replace(/\r?\n/g, "<br />"); } /** * 移除数组中的空元素 * @param {array} 数组 * @returns {narray} 新数组 * */ Array.prototype.trimArray = function () { var array = this; var narray = []; for (var i = 0; i < array.length; i++) if (array[i]) { if (typeof array[i] == "string") { if (array[i].trim()) narray.push(array[i]); } else { narray.push(array[i]); } } return narray; }; /** * 移除数组中的指定元素 * @param {elm} 指定元素值 * @returns {narray} 新数组 * */ Array.prototype.remove = function (elm) { for (var i = 0; i < this.length; i++) { if (this[i] == elm) this[i] == ''; break; } return this.trimArray(); //清除空元素 }; /** * 去除数组中重复的元素 * @param {isStrict} 是否严格模式 * ['1',1] isStric=true 返回1,否则,返回1,1 * @returns {Array} * */ Array.prototype.unique = function (isStrict) { if (!this.length) return []; if (this.length < 2) return [this[0]] || []; var tempObj = {}, newArr = []; for (var i = 0; i < this.length; i++) { var v = this[i]; var condition = isStrict ? (typeof tempObj[v] != typeof v) : false; if ((typeof tempObj[v] == "undefined") || condition) { tempObj[v] = v; newArr.push(v); } } return newArr; }; /** * 统计元素在数组中出现的次数 * @param {array} 数组 * ['1',1] isStric=true 返回1,否则,返回1,1 * @returns {Array} 返回一个二维数组::["元素名","出现的次数"] * */ Array.prototype.sameCount = function () { var res = []; var ary = this; ary.sort(); for (var i = 0; i < ary.length; ) { var count = 0; for (var j = i; j < ary.length; j++) { if (ary[i] == ary[j]) { count++; } } res.push([ary[i], count]); i += count; } return res; }
相关推荐
JS中的常用对象[转载]web 技术 2010-06-05 15:00:30 阅读3 评论0 字号:大中小 订阅 [removed] Window For JavaScript 熟练window对象的open、close、alert、confirm、prompt、setTimeout、clearTimeout、...
# 一面 2:JS-Web-API 知识点与高频考题解析 ...下面列举一下常用功能的代码示例 获取浏览器特性(即俗称的`UA`)然后识别客户端,例如判断是不是 Chrome 浏览器 ```js var ua = navigator.userAgent var isChrome =
Our.JS 是一个适用于 WEB 开发的 JavaScript 框架,它能让开发者使用可预期的 API 自由的编程,写出具备良好的兼容性、可读性和扩展性的代码。 OurJS 目前完全兼容 PC 端的 IE6 、Firefox、Chrome、Safari、Opera ...
这些过于灵活的地方有时候确实很让人迷惑,那么今天我们就来梳理一下JS中常用的创建对象的几种方法吧。 前言 虽然使用 Object构造函数 或者使用 对象字面量 可以很方便的用来创建一个对象,但这种方式有一个明显的...
俗话说“在js语言中,一切都对象”,而且创建对象的方式也有很多种,所以今天我们做一下梳理 最简单的方式 JavaScript创建对象最简单的方式是:对象字面量形式或使用Object构造函数 对象字面量形式 var person = ...
本章讲解为什么要进行这样的设计,以及前端开发从需求分析、总体设计到模块设计再到代码编写的整个过程,进行思路的梳理,以及SDK常用开发套路的介绍 第4章 最常用ES6语法讲解以及课程环境搭建 本章主要对后面用到...
当然这些选择器都是jQuery扩展的一些方法,那么使用原生js时要怎样来查找元素呢?今天就来简单梳理下。DOM定义了多种查找元素的方法,除了我们常用的getElementById(),还有getElementsByTagName()和...
python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 ...15 再插两道JavaScript面试题 16 Model操作之select_related以及...
由此,本文结合学习期间资料梳理和项目开发经验,整理出 一套较为常用实用的文章。 适用于 新手入门,无论C#,C,java,Python,R等具有任何编程语言基础均可; 想快速了解Django并可以快速开发上手者。 适用于作为...
FEBlog 积累前端知识,将其转化为文章。 进度 浏览器相关:5篇 算法:1篇 http:7篇 JavaScript基础知识:2篇 前端知识:15篇 Vue: 8篇 其他专栏 浏览器相关 ...梳理git的常用指令 ...JavaScript代码是怎
javascript代码存在形式 javascript基本预览 javascript字符串操作以及跑马灯实例 javascript数组和字典以及for循环 javascript条件语句 javascript函数的定义 Dom直接选择器 Dom间接选择器 示例之模态对话框 示例之...
后Kubernetes时代,带你系统梳理K8S 12大关键特性.pdf 容器如“衣服”,而虚拟机却是“房子”.pdf 怎样将微服务和无服务器相结合?用新型事件驱动型架构CQRS!.pdf 没想到黑客的工具这么复杂!.pdf 浅谈图片宽度...