• /*
  • * 系统中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通用方法扩展的更多相关文章

  1. js数组方法扩展

    /** * Created by Administrator on 2016/9/1. */ //数组去重 Array.prototype.unique = function(){ this.sort ...

  2. JS通用方法总结(一)

    /** * id数组转换为json字符串 */ function arrayTojson(arr) { var jsonIds = "["; for ( var i = 0; i ...

  3. js通用方法检測浏览器是否已安装指定插件(IE与非IE通用)

    /* * 检測是否已安装指定插件 * * pluginName 插件名称 */ function checkPlugins(pluginName) { var np = navigator.plugi ...

  4. 扩展JQuery和JS的方法

    //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展            var aClass = function(){} //1 定义这个类的静态方法            aC ...

  5. JS,JQuery的扩展方法

    转 http://blog.csdn.net/tuwen/article/details/11464693 //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展            ...

  6. 原生js事件委托(事件代理)方法扩展

    原生js事件委托(事件代理)方法扩展: 通过Node底层原型扩展委托方法 /** * 事件委托方法 * @param eventName {string}:事件名称,如'click' * @param ...

  7. js添加事件通用方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. 使用 highchart 绘制柱状图的通用方法与接口

    本文给出使用 highchart 绘制柱状图的通用方法与接口, 只要指定相应的数据结构和配置, 就可以直接拿来使用. 一.  数据结构与基本接口   一般绘制图形, 会涉及到较复杂的数据结构, 比如使 ...

  9. String对象方法扩展

    /** *字符串-格式化 */ String.prototype.format = function(){ var args = arguments;//获取函数传递参数数组,以便在replace回调 ...

随机推荐

  1. 人人API 分享到人人功能 修改版

    最近在搞一个日程管理网站, 需要实现分享到人人功能, 所以找了一下人人API, 然后根据自己需要修改了一下. 首先得有一个人人给的js文件, 如下: var Renren = Renren || {} ...

  2. .Net中获取打印机的相关信息

    原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. Printe ...

  3. MATLAB描绘极坐标图像——polar

    polar可用于描绘极坐标图像. 最简单而经常使用的命令格式:POLAR(THETA, RHO)  当中,THETA是用弧度制表示的角度,RHO是相应的半径. 例: a=-2*pi:.001:2*pi ...

  4. 2014百度之星资格赛——Disk Schedule

    2014百度拥有明星格比赛--Disk Schedule Problem Description 有非常多从磁盘读取数据的需求,包含顺序读取.随机读取. 为了提高效率.须要人为安排磁盘读取. 然而.在 ...

  5. 【Android进阶】Activity的四种加载模式

    Activity的四种加载模式: 1.standard :系统的默认模式,一次跳转即会生成一个新的实例.假设有一个activity命名为Act1, 执行语句:startActivity(new Int ...

  6. linux基于学习

    1.还有一个文件名前".",它代表的文件""隐藏文件". 2.chgrp:改变文件所属用户组 chown:改变文件全部者 chmod:改变文件的权限 ...

  7. int a[5]={1,2,3,4,5};printf(&quot;%d\n&quot;, *((int*)(&amp;a+1)-2);

    有说服力的笔试题有一定的期限,问:什么是结果,答案是4,为什么要挤? 我明白(不知道是不正确): &a这是一个数组指针,类型int[5],然后&a添加1其实a+sizeof(int)* ...

  8. &lt;ASP.NET4 从入门到精通&gt;学习笔记1

    非常久没有写东西了,今日有时间,開始整理一下关于ASP.NET 4的学习笔记.提醒自己,也欢迎评论. 概述一共分为6个大的部分,兴许文章.将依据每一个部分进行整理,本读书笔记仅仅是整理关键点,对于啰嗦 ...

  9. COC+RTS+MOR游戏开发 一(游戏特色分析,和实践)

    本场比赛的临时名称 游戏特色(-):COC风格 ,塔防养成类游戏.          一款史诗般的战斗策略游戏.玩家须要建立村庄,成千上万的网友训练玩家的军队和战斗. 游戏中玩家须要不断的提高军队的作 ...

  10. Mybatis分页插件更新

    分页插件演示:http://blog.csdn.net/isea533/article/details/23831273 分页插件演示样例:http://blog.csdn.net/isea533/a ...