JavaScript函数备份(大部分参考EXT2.0.2)

来源:互联网 发布:数据库系统概论(第5版) 编辑:程序博客网 时间:2024/06/15 09:16

这里面只列出JavaScript中没有的函数。 

现在就不作解释了,主要看代码吧。

不使用原型编写的代码:

/** * <pre> * 截取一个字符串,若它超过指定的长度,并在其后面增加一个省略号('...') * </pre> * @param value 需要截取的字符串 * @param len 允许截取的最大长度 * @returns 返回转换后的字符串 */function ellipsis(value, len){if(value && value.length > len){        return value.substr(0, len-3)+"...";    }    return value;}/** * <pre> * 判断一个字符串是否为日期类型 * </pre> * @param value 字符串 * @returns {Boolean} 是返回true,否返回false */function isDate(value){return value && typeof value.getFullYear == 'function';}/** * <pre> * 把日期字符串格式化 * </pre> * @param value 日期字符串(不支持格式:2010.12.23) * @param format 格式:默认为:yyyy-MM-dd * @returns 返回格式化后的字符串 */function date(value, format){if(!value){return "";}if(!isDate(value)){value = new Date(Date.parse(value));}return value.dateFormat(format || "yyyy-MM-dd");}/** * <pre> * 简单格式一个文件大小(xxx bytes, xxx KB, xxx MB, xxxGB). * </pre> * @param size 文件大小的数字 * @return 格式后字符串 */function fileSize(size){if(size < 1024) {        return size + " bytes";    } else if(size < 1048576) {        return (Math.round(((size*10) / 1024))/10) + " KB";    } else if(size < 1073741824){        return (Math.round(((size*10) / 1048576))/10) + " MB";    } else if(size < 1099511627776){    return (Math.round(((size*10) / 1073741824))/10) + " GB";    } else {        return (Math.round(((size*10) / 1099511627776))/10) + " TB";    }}/** * <pre> * 在字符串前面补一个特殊的字符,这在数字和日期字符串中非常好用。 * String val = leftPad("123", 5, "0"); * val就变成了 "00123" *  * </pre> * @param str 原始字符串 * @param size 输出字符串的总长度 * @param ch 它是加在原始字符串前的字符,默认为" "; * @returns 返回填补后的字符串 */function leftPad(str,size,ch){var s = new String(str);if(!ch){ch = " ";}while(s.length < size){s = ch + s;}return s.toString();}/** * <pre> * 字符串去前后空格 * </pre> * @param str 原始字符串 * @returns 去空格后字符串 */function trim(str){var pattern = /^\s+|\s+$/g;return str.replace(pattern,"");}/** * <pre> * 字符串去前空格 * </pre> * @param str 原始字符串 * @returns 去空格后字符串 */function leftTrim(str){var pattern = /^\s+/g;return str.replace(pattern,"");}/** * <pre> * 字符串去后空格 * </pre> * @param str 原始字符串 * @returns 去空格后字符串 */function rightTrim(str){var pattern = /\s+$/g;return str.replace(pattern,"");}



使用原型写的代码:

/** * <pre> * 把日期格式化 * y:年 * M:月 * d:日 * h:小时 * m:分 * s:秒 * q:刻 * S:毫秒 * </pre> * @param format 格式 * @returns 返回格式化后的字符串 */Date.prototype.dateFormat = function(format) {var o = {"M+" : this.getMonth() + 1, // month"d+" : this.getDate(), // day"h+" : this.getHours(), // hour"m+" : this.getMinutes(), // minute"s+" : this.getSeconds(), // second"q+" : Math.floor((this.getMonth() + 3) / 3), // quarter"S" : this.getMilliseconds()// millisecond};if (/(y+)/.test(format)){format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));}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;};


 

/** * copyRight xxx * <pre> * 使用原型实现,其中大部分代码参考了Ext2.0.2版本的代码, * 或者直接引用了其代码 * </pre> * author:pansen * version:v1.0 * *//** * <pre> * 使用String的prototype的形式,即可以使用"aa".ellipsis(20); * 截取一个字符串,若它超过指定的长度,并在其后面增加一个省略号('...') * </pre> * @param len 允许截取的最大长度 * @returns 返回转换后的字符串 */String.prototype.ellipsis=function(len){if(this && this.length > len){return this.substring(0, len-3)+"...";}return this;};/** * <pre> * 把日期字符串格式化 * 日期字符串(不支持格式:2010.12.23) * </pre> * @param format 格式:默认为:yyyy-MM-dd * @returns 返回格式化后的字符串 */String.prototype.date = function(format){var str = this;if(!str){return "";}if(!isDate(str)){str = new Date(Date.parse(str));}return str.dateFormat(format || "yyyy-MM-dd");};/** * <pre> * 在字符串前面补一个特殊的字符,这在数字和日期字符串中非常好用。 * String val = "123".leftPad(5, "0"); * val就变成了 "00123" *  * </pre> * @param size 输出字符串的总长度 * @param ch 它是加在原始字符串前的字符,默认为" "; * @returns 返回填补后的字符串 */String.prototype.leftPad=function(size,ch){var s = this;if(!ch){ch = " ";}while(s.length < size){s = ch + s;}return s;};/** * <pre> * 字符串去前后空格 * </pre> * @returns 去空格后字符串 */String.prototype.trim = function(){var pattern = /^\s+|\s+$/g;return this.replace(pattern,"");};/** * <pre> * 字符串去前空格 * </pre> * @returns 去空格后字符串 */String.prototype.leftTrim = function(){var pattern = /^\s+$/g;return this.replace(pattern,"");};/** * <pre> * 字符串去后空格 * </pre> * @returns 去空格后字符串 */String.prototype.rightTrim = function(){var pattern = /\s+$/g;return this.replace(pattern,"");};


 

 


原创粉丝点击