JS通用方法扩展
- /*
- * 系统中JS的扩展函数
- *
- *
- */
- // 清除两边的空格
- String.prototype.trim = function() {
- returnthis.replace(/(^\s*)|(\s*$)/g, '');
- };
- // 合并多个空白为一个空白
- String.prototype.ResetBlank = function() {
- var regEx = /\s+/g;
- returnthis.replace(regEx, ' ');
- };
- // 保留数字
- String.prototype.GetNum = function() {
- var regEx = /[^\d]/g;
- returnthis.replace(regEx, '');
- };
- // 保留中文
- String.prototype.GetCN = function() {
- var regEx = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g;
- returnthis.replace(regEx, '');
- };
- // String转化为Number
- String.prototype.ToInt = function() {
- return isNaN(parseInt(this)) ? this.toString() : parseInt(this);
- };
- // 得到字节长度
- String.prototype.GetLen = function() {
- var regEx = /^[\u4e00-\u9fa5\uf900-\ufa2d]+$/;
- if (regEx.test(this)) {
- returnthis.length * 2;
- } else {
- var oMatches = this.match(/[\x00-\xff]/g);
- var oLength = this.length * 2 - oMatches.length;
- return oLength;
- }
- };
- // 获取文件全名
- String.prototype.GetFileName = function() {
- var regEx = /^.*\/([^\/\?]*).*$/;
- returnthis.replace(regEx, '$1');
- };
- // 获取文件扩展名
- String.prototype.GetExtensionName = function() {
- var regEx = /^.*\/[^\/]*(\.[^\.\?]*).*$/;
- returnthis.replace(regEx, '$1');
- };
- /******add By 刘景宁 2010-12-09 *******/
- String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {
- if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
- returnthis.replace(new RegExp(reallyDo, (ignoreCase ? "gi" : "g")), replaceWith);
- } else {
- returnthis.replace(reallyDo, replaceWith);
- }
- };
- //格式化字符串 add By 刘景宁 2010-12-09
- String.Format = function() {
- if (arguments.length == 0) {
- return'';
- }
- if (arguments.length == 1) {
- return arguments[0];
- }
- var reg = /{(\d+)?}/g;
- var args = arguments;
- var result = arguments[0].replace(reg, function($0, $1) {
- return args[parseInt($1) + 1];
- });
- return result;
- };
- // 数字补零
- Number.prototype.LenWithZero = function(oCount) {
- var strText = this.toString();
- while (strText.length < oCount) {
- strText = '0' + strText;
- }
- return strText;
- };
- // Unicode还原
- Number.prototype.ChrW = function() {
- return String.fromCharCode(this);
- };
- // 数字数组由小到大排序
- Array.prototype.Min2Max = function() {
- var oValue;
- for (var i = 0; i < this.length; i++) {
- for (var j = 0; j <= i; j++) {
- if (this[i] < this[j]) {
- oValue = this[i];
- this[i] = this[j];
- this[j] = oValue;
- }
- }
- }
- returnthis;
- };
- // 数字数组由大到小排序
- Array.prototype.Max2Min = function() {
- var oValue;
- for (var i = 0; i < this.length; i++) {
- for (var j = 0; j <= i; j++) {
- if (this[i] > this[j]) {
- oValue = this[i];
- this[i] = this[j];
- this[j] = oValue;
- }
- }
- }
- returnthis;
- };
- // 获得数字数组中最大项
- Array.prototype.GetMax = function() {
- var oValue = 0;
- for (var i = 0; i < this.length; i++) {
- if (this[i] > oValue) {
- oValue = this[i];
- }
- }
- return oValue;
- };
- // 获得数字数组中最小项
- Array.prototype.GetMin = function() {
- var oValue = 0;
- for (var i = 0; i < this.length; i++) {
- if (this[i] < oValue) {
- oValue = this[i];
- }
- }
- return oValue;
- };
- // 获取当前时间的中文形式
- Date.prototype.GetCNDate = function() {
- var oDateText = '';
- oDateText += this.getFullYear().LenWithZero(4) + new Number(24180).ChrW();
- oDateText += this.getMonth().LenWithZero(2) + new Number(26376).ChrW();
- oDateText += this.getDate().LenWithZero(2) + new Number(26085).ChrW();
- oDateText += this.getHours().LenWithZero(2) + new Number(26102).ChrW();
- oDateText += this.getMinutes().LenWithZero(2) + new Number(20998).ChrW();
- oDateText += this.getSeconds().LenWithZero(2) + new Number(31186).ChrW();
- oDateText += new Number(32).ChrW() + new Number(32).ChrW() + new Number(26143).ChrW() + new Number(26399).ChrW() + new String('26085199682010819977222352011620845').substr(this.getDay() * 5, 5).ToInt().ChrW();
- return oDateText;
- };
- //扩展Date格式化
- Date.prototype.Format = function(format) {
- var o = {
- "M+": this.getMonth() + 1, //月份
- "d+": this.getDate(), //日
- "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时
- "H+": this.getHours(), //小时
- "m+": this.getMinutes(), //分
- "s+": this.getSeconds(), //秒
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
- "S": this.getMilliseconds() //毫秒
- };
- var week = {
- "0": "\u65e5",
- "1": "\u4e00",
- "2": "\u4e8c",
- "3": "\u4e09",
- "4": "\u56db",
- "5": "\u4e94",
- "6": "\u516d"
- };
- if (/(y+)/.test(format)) {
- format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
- }
- if (/(E+)/.test(format)) {
- format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : "") + week[this.getDay() + ""]);
- }
- for (var k in o) {
- if (new RegExp("(" + k + ")").test(format)) {
- format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- }
- }
- return format;
- }
- Date.prototype.Diff = function(interval, objDate) {
- //若参数不足或 objDate 不是日期类型則回传 undefined
- if (arguments.length < 2 || objDate.constructor != Date) { return undefined; }
- switch (interval) {
- //计算秒差
- case's': return parseInt((objDate - this) / 1000);
- //计算分差
- case'n': return parseInt((objDate - this) / 60000);
- //计算時差
- case'h': return parseInt((objDate - this) / 3600000);
- //计算日差
- case'd': return parseInt((objDate - this) / 86400000);
- //计算周差
- case'w': return parseInt((objDate - this) / (86400000 * 7));
- //计算月差
- case'm': return (objDate.getMonth() + 1) + ((objDate.getFullYear() - this.getFullYear()) * 12) - (this.getMonth() + 1);
- //计算年差
- case'y': return objDate.getFullYear() - this.getFullYear();
- //输入有误
- default: return undefined;
- }
- };
- //检测是否为空
- Object.prototype.IsNullOrEmpty = function() {
- var obj = this;
- var flag = false;
- if (obj == null || obj == undefined || typeof (obj) == 'undefined' || obj == '') {
- flag = true;
- } elseif (typeof (obj) == 'string') {
- obj = obj.trim();
- if (obj == '') {//为空
- flag = true;
- } else {//不为空
- obj = obj.toUpperCase();
- if (obj == 'NULL' || obj == 'UNDEFINED' || obj == '{}') {
- flag = true;
- }
- }
- }
- else {
- flag = false;
- }
- return flag;
- };
JS通用方法扩展的更多相关文章
- js数组方法扩展
/** * Created by Administrator on 2016/9/1. */ //数组去重 Array.prototype.unique = function(){ this.sort ...
- JS通用方法总结(一)
/** * id数组转换为json字符串 */ function arrayTojson(arr) { var jsonIds = "["; for ( var i = 0; i ...
- js通用方法检測浏览器是否已安装指定插件(IE与非IE通用)
/* * 检測是否已安装指定插件 * * pluginName 插件名称 */ function checkPlugins(pluginName) { var np = navigator.plugi ...
- 扩展JQuery和JS的方法
//JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展 var aClass = function(){} //1 定义这个类的静态方法 aC ...
- JS,JQuery的扩展方法
转 http://blog.csdn.net/tuwen/article/details/11464693 //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展 ...
- 原生js事件委托(事件代理)方法扩展
原生js事件委托(事件代理)方法扩展: 通过Node底层原型扩展委托方法 /** * 事件委托方法 * @param eventName {string}:事件名称,如'click' * @param ...
- js添加事件通用方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 使用 highchart 绘制柱状图的通用方法与接口
本文给出使用 highchart 绘制柱状图的通用方法与接口, 只要指定相应的数据结构和配置, 就可以直接拿来使用. 一. 数据结构与基本接口 一般绘制图形, 会涉及到较复杂的数据结构, 比如使 ...
- String对象方法扩展
/** *字符串-格式化 */ String.prototype.format = function(){ var args = arguments;//获取函数传递参数数组,以便在replace回调 ...
随机推荐
- 解决apache+tomcatserver环境中文乱码的问题
在使用apache做转发服务器时,碰到了中文乱码的问题. 说说解决思路: 1.通常乱码是由于编码不统一造成的.所以要先推断是不是由于编码问题造成的,假设是的话,那统一编码就能够去解决. 2.tomca ...
- 构造函数为什么不能为虚函数 & 基类的析构函数为什么要为虚函数
一.构造函数为什么不能为虚函数 1. 从存储空间角度,虚函数相应一个指向vtable虚函数表的指针,这大家都知道,但是这个指向vtable的指针事实上是存储在对象的内存空间的.问题出来了,假设构造函数 ...
- Java误区: 静态代码块,当把类将被载入到自己主动运行?
JAVA静态代码块会在类被载入时自己主动运行? 非常多Java开发人员的思想,被这个思想深深的轮奸了n遍,传播这个错误思想的博客,在网上一堆,越来越多的人被轮奸. 如:http://blog.csdn ...
- 【POJ】The Suspects(裸并查集)
并查集的模板题,为了避免麻烦,合并的时候根节点大的合并到小的结点. #include<cstdio> #include<algorithm> using namespace s ...
- UVALive 6469 Deranged Exams (排列:力绝对是无辜的高中知识啊)
标题手段 : 给你个n([1,17])表达n无论从数据结构.然后n个对这些术语的定义,让你对这些术语和定义对号入座(相当于进行连线,A术语连A术语的定义).然后一个 k([0,n]).问你至少前k个术 ...
- 【PLSQL】变量声明,结构语句,cursor游标
************************************************************************ ****原文:blog.csdn.net/clar ...
- 第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器
原文:第十九章--使用资源调控器管理资源(2)--使用T-SQL配置资源调控器 前言: 在前一章已经演示了如何使用SSMS来配置资源调控器.但是作为DBA,总有需要写脚本的时候,因为它可以重用及扩展. ...
- HDU 3874 离线段树
在所有数字的统计范围,,对于重复统计只有一次 离线段树算法 排序终点坐标.然后再扫,反复交锋.把之前插入树行被删除 #include "stdio.h" #include &quo ...
- 备注ocp_ORACLE专题网络
声明:原创作品,出自 "深蓝的blog" 博客.欢迎转载.转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanl ...
- Team Foundation Server 2015使用教程--团队项目删除