Строка : :
String.prototype.trim = function () {return this.replace (/^/s+|/s+$/g, ""); } String.prototype.ltrim = function () {return this.replace (/^/s+/g, ""); } String.prototype.rtrim = function () {return this.replace (// s+$/g, ""); } String.prototype.splitandtrim = function ($ delimiter, $ limit) {var $ ss = this.split ($ delimiter, $ limit); для (var $ i = 0; $ i <$ ss.length; $ i ++) $ ss [$ i] = $ ss [$ i] .trim (); вернуть $ ss; } String.prototype.htmlentities = function () {return this.replace (/&/g, '&'). Replication (/</g, '<' '). Replace (/>/g,'> '); } String.prototype.striptags = function () {return this.replace (/<([^>]+)>/g, ''); } String.prototype.toarray = function () {return this.split (''); } String.prototype.tointarray = function () {var returnArray = []; for (var i = 0; i <this.length; i ++) {returnArray.push (this.charcodeat (i)); } return returnArray; } String.prototype.replaceall = function ($ old, $ snew) {return this.replace (new regexp ($ old, "gm"), $ snew); }变量替换
var a = "i Love {0}, и вы любите {1}, где {0}!"; a.format ("you", "me"); String.prototype.format = function () {var args = arguments; вернуть это. }在字符串末尾追加字符串
String.prototype.append = function ($ str) {return this.concat ($ str); }删除指定索引位置的字符 , 索引无效将不删除任何字符
String.prototype.deletecharat = function ($ sindex) {if ($ sindex <0 || $ sindex> = this.length) {return this.valueof (); } else if ($ sindex == 0) {return this.substring (1, this.length); } else if ($ sindex == this.length-1) {return this.substring (0, this.length-1); } else {return this.substring (0, $ sindex)+this.substring ($ sindex+1); }}删除指定索引间的字符串. $ SINDEX 和 $ EINDEX 所在的字符不被删除!依赖 DELETECHARAT
String.prototype.deletestring = function ($ sindex, $ eindex) {if ($ sindex == $ eindex) {return this.deletecharat ($ sindex); } else {if ($ sindex> $ eindex) {var tindex = $ eIndex; $ eindex = $ sindex; $ sindex = tindex; } if ($ sindex <0) $ sindex = 0; if ($ eIndex> this.length-1) $ eIndex = this.length-1; вернуть this.substring (0, $ sindex+1)+this.substring ($ eindex, this.length); }}检查字符串是否以某个字符串 (str) 结尾
String.prototype.endswith = function ($ str) {return this.substr (this.length - $ str.length) == $ str; }检查该字符串是否以某个字符串开始
String.prototype.startswith = function (str) {return this.substr (0, str.length) == str; }比较两个字符串是否相等 , 不区分大小写!
String.prototype.equalsignorecase = function ($ str) {if (this.length! = $ Str.length) {return false; } else {var tmp1 = this.ToloWercase (); var tmp2 = $ str.tolowercase (); вернуть tmp1 == tmp2; }}将指定的字符串插入到指定的位置后面! 索引无效将直接追加到字符串的末尾
String.prototype.insert = function ($ ofset, $ str) {if ($ ofset <0 || $ ofset> = this.length-1) {return this.concat ($ str); } вернуть this.substring (0, $ ofset)+$ str+this.substring ($ ofset+1); }将指定的位置的字符设置为另外指定的字符或字符串. 索引无效将直接返回不做任何处理!
String.prototype.setcharat = function ($ ofset, $ str) {if ($ ofset <0 || $ ofset> = this.length-1) {return this.valueof (); } вернуть this.substring (0, $ ofset)+$ str+this.substring ($ ofset+1); } String.prototype.Replacelen = function (start, len, заменил) {if (! Len) вернуть это; if (start> = this.length) вернуть это; var returnseg = ''; var returnseg2 = ''; var i = 0; for (; i <this.length; i ++) {var c = this.charat (i); if (i <start) returnseg += c; if (i> = start + len) returnseg2 + = c; } return returnseg + заменил + returnseg2; }扩展基础类 :
替换字符 , 这个在替换填入比较有用 比如 *** 天 *** 小时 替换为 <input /> 天 <input /> 小时
String.prototype.replacechar = function (target, заменить, начать) {if (! Target) вернуть это; if (! start) start = 0; var returnVal = this.substring (0, start); var index = 0; for (var i = start; i <this.length; i ++) {var c = this.charat (i); target = typeof target == 'function'? target.call (this, index): target; if (c == target) {returnVal += typeOf заменил == 'function'? заменил.call (это, индекс): заменен; while (i <this.length - 1 && this.charat (i+1) == c) {i ++; } index ++; } else {returnVal += c; }} return returnVal; }将该字符串反序排列
String.prototype.reverse = function () {var str = ""; for (var i = this.length-1; i> = 0; i-) {str = str.concat (this.charat (i)); } return str; }计算长度 , 每个汉字占两个长度 英文字符每个占一个长度
String.prototype.uclength = function () {var len = 0; for (var i = 0; i <this.length; i ++) {if (this.charcodeat (i)> 255) len+= 2; иначе len ++; } return len; }在字符串的左边填充一些特定的字符
String.prototype.lpad = function (len, s) {var a = new Array (this); var n = (len - this.length); for (var i = 0; i <n; i ++) {a.unshift (s); } вернуть a.join (""); }在字符串的右边填充一些特定的字符
String.prototype.rpad = function (len, s) {var a = new Array (this); var n = (len - this.length); for (var i = 0; i <n; i ++) {a.push (s); } вернуть a.join (""); }把字符串的首字母转化为大写
String.prototype.ucwords = function () {return this.substring (0,1) .touppercase (). Concat (this.substring (1)); } String.prototype.contains = function ($ str) {return this.indexof ($ str)> -1? Верно: Неверно; }将格式为 2008-04-02 10:08:44 的字符串转成日期 (строка 对象的值必须为: 2008-04-02 10:08:44)
String.prototype.todate = function () {var str = this.replace (/-/g, "/"); возврат (новая дата (str)); }将原来用字符串表示的十进数转成十进制浮点数: Точность 为精度
String.prototype.tofloat = function (precision) {precision = precision || 2; вернуть parsefloat (это, 10) .tofixed (точность); }将原来用字符串表示的十进数转成十进制整数
String.prototype.toint = function () {return parseint (this, 10) .toString (); }将两个原来用字符串表示的十进数相加后当作字串返回: Приложение 为加数
String.prototype.add = function (добавление) {var sum = parsefloat (this, 10) + parsefloat (добавление, 10); вернуть сумму+""; }十进制转其他进制代码如下 nextscale 为进制 如 2,8,16
String.prototype.shiftscale = function (nextscale) {return parsefloat (this) .toString (nextscale); }各进制互相转换 :
это 对象必须是整数
@param prescale 原是是几进制数
@param nextscale 要转换成几进制数
String.prototype.scaleshift = function (prescale, nextscale) {return parseint (this, prescale) .toString (nextscale); }全角 2 半角 Document.Write ("abc 123 , 我们都是好朋友");
String.prototype.dbc2sbc = function () {
вернуть это.
}
Массив 扩展函数 :
var isNumeric = function (x) {// возвращает true, если x является числовым и ложным, если это не так. var regexp = /^(-)?(/d*)(/.?)(/d*)$/; return String (x) .match (regexp); } var myarray = [1, 'два', 3, 'четыре', 5, 'шесть', 7, 'восемь', 9, 'ten']; var Oddarray = myarray.filter (isNumeric); // Выходы: 1,3,5,7,9 var addarray = myarray.some (isNumeric); // Выходы: true var waderarray = myarray.every (isNumeric); // выходы: false var printarray = function (x, idx) {document.writeln ('['+idx+'] ='+x); } myarray.foreach (printarray); // Выходные: [0] = 1 [1] = два [2] = 3 [3] = четыре [4] = 5 myarray.remove (9); document.writeln (myarray); if (! array.prototype.every) {array.prototype.every = function (fun /*, thisp* /) {var len = this.length; if (typeof Fun! = "function") бросить новый тип и); var thisp = аргументы [1]; for (var i = 0; i <len; i ++) {if (i in this &&! fun.call (thisp, это [i], i, this)) вернуть false; } вернуть true; }; } if (! array.prototype.filter) {array.prototype.filter = function (fun /*, thisp* /) {var len = this.length; if (typeof Fun! = "function") бросить новый тип и); var res = new Array (); var thisp = аргументы [1]; for (var i = 0; i <len; i ++) {if (i в этом) {var val = this [i]; // В случае, если веселье мутирует это, если (fun.call (thisp, val, i, this)) res.push (val); }} return res; }; } if (! array.prototype.foreach) {array.prototype.foreach = function (fun /*, thisp* /) {var len = this.length; if (typeof Fun! = "function") бросить новый тип и); var thisp = аргументы [1]; for (var i = 0; i <len; i ++) {if (i in the) fun.call (thisp, это [i], i, это); }}; } if (! array.prototype.map) {array.prototype.map = function (fun /*, thisp* /) {var len = this.length; if (typeof Fun! = "function") бросить новый тип и); var res = new Array (Len); var thisp = аргументы [1]; for (var i = 0; i <len; i ++) {if (i в этом) res [i] = fun.call (thisp, это [i], i, это); } return res; }; } if (! array.prototype.some) {array.prototype.some = function (fun /*, thisp* /) {var len = this.length; if (typeof Fun! = "function") бросить новый тип и); var thisp = аргументы [1]; for (var i = 0; i <len; i ++) {if (i in this && fun.call (thisp, this [i], i, this)) вернуть true; } вернуть false; }; } Array.prototype.sortnum = function () {return this.sort (function (a, b) {return ab;}); } <!- var tmp = [5,9,12,18,56,1,10,42, «синий», 30, 7,97,53,33,30,35,27,30, '35 ', «мяч», «пузырь»]; var thirty = tmp.find (30); // возвращает 9, 14, 17 var thirtyfive = tmp.find ('35 '); // возвращает 18 var thirtyfive = tmp.find (35); // возвращает 15 var hAsblue = tmp.find ('blue'); // возвращает 8 var notfound = tmp.find ('нет там!'); // возвращает false var regexp1 = tmp.find (/^b/); // возвращает 8,20 (первая буква начинается с b) var regexp1 = tmp.find (/^b/i); // Возвращает 8,19,20 (то же самое, что и выше, но игнорировать дело) -> array.prototype.find = function (searchstr) {var returnArray = false; for (i = 0; i <this.length; i ++) {if (typeof (searchstr) == 'function') {if (searchstr.test (this [i])) {if (! returnArray) {returnArray = []} returnArray.push (i); }} else {if (this [i] === searchstr) {if (! returnArray) {returnArray = []} returnArray.push (i); }}} return returnArray; }随机改变数组的排序
Array.prototype.shuffle = function () {for (var rnd, tmp, i = this.length; i; rnd = parseint (math.random ()*i), tmp = this [-i], это [i] = это [rnd], этот [rnd] = tmp); вернуть это; } <!-var myarray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; var yourarray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; document.writeln (myarray.compare (yourarray)); // выходы: true;-> array.prototype.compare = function (testarr) {if (this.length! = testarr.length) вернуть false; for (var i = 0; i <testarr.length; i ++) {if (this [i] .compare) {if (! this [i] .compare (testarr [i])) вернуть false; } if (this [i]! == testarr [i]) вернуть false; } вернуть true; }去掉数组中重复的值 var a = new Array ("5", "7", "7"); a.unique ();
Array.prototype.unique = function () {var data = this || []; var a = {}; // 声明一个对象 , javascript 的对象可以当哈希表用 for (var i = 0; i <data.length; i ++) {a [data [i]] = true; // 设置标记 , 把数组的值当下标 , 这样就可以去掉重复的值} data.length = 0; для (var i в a) {// 遍历对象 , 把已标记的还原成数组 это [data.length] = i; } вернуть данные; } Array.prototype.addall = function ($ array) {if ($ array == null || $ array.length == 0) return; для (var $ i = 0; $ i <$ array.length; $ i ++) this.push ($ array [$ i]); } Array.prototype.contains = function ($ value) {for (var $ i = 0; $ i <this.length; $ i ++) {var $ element = this [$ i]; if ($ element == $ value) return true; } вернуть false; } Array.prototype.indexof = function ($ value) {for (var $ i = 0; $ i <this.length; $ i ++) {if (this [$ i] == $ value) return $ i; } return -1; } if (! array.prototype.lastindexof) {array.prototype.lastindexof = function (elt /*, from* /) {var len = this.length; var from = number (аргументы [1]); if (isnan (from)) {from = len - 1; } else {from = (от <0)? Math.ceil (от): math.floor (от); if (от <0) от += len; иначе if (from> = len) от = len - 1; } for (; from> -1; from--) {if (from in this && this [from] === elt) возврат из; } return -1; }; } Array.prototype.insertat = function ($ value, $ index) {if ($ index <0) this.unshift ($ value); иначе if ($ index> = this.length) this.push ($ value); иначе this.splice ($ index, 0, $ value); }根据数组的下标来删除元素
Array.prototype.removebyindex = function ($ n) {if ($ n <0) {// 如果 n <0 , 则不进行任何操作。 return this; } else {return this.slice (0, $ n) .concat (this.slice ($ n+1, this.length)); }}依赖 Индекс
Array.prototype.remove = function ($ value) {var $ index = this.indexof ($ value); if ($ index! = -1) this.splice ($ index, 1); } Array.prototype.removeall = function () {while (this.length> 0) this.pop (); } Array.prototype.replace = function ($ oldvalue, $ newvalue) {for (var $ i = 0; $ i <this.length; $ i ++) {if ($ i] == $ oldvalue) {this [$ i] = $ newvalue; возвращаться; }}} Array.prototype.swap = function ($ a, $ b) {if ($ a == $ b) return; var $ tmp = это [$ a]; это [$ a] = это [$ b]; это [$ b] = $ tmp; } Array.prototype.max = function () {return math.max.apply ({}, this); } Array.prototype.min = function () {return math.min.apply ({}, this); } Array.prototype.splice = function (start, dellen, item) {var len = this.length; start = start <0? 0: Start> Len? Len: Start? Start: 0; dellen = dellen <0? 0: dellen> Len? Len: Dellen? Dellen: Len; var arr = [], res = []; var yarr = 0, ires = 0, i = 0; for (i = 0; i <len; i ++) {if (i <start || ires> = dellen) arr [iarr ++] = this [i]; else {res [ires ++] = this [i]; if (item && ires == dellen) {arr [iarr ++] = item; }}} if (item && ires <dellen) arr [iarr] = item; for (var i = 0; i <arr.length; i ++) {this [i] = arr [i]; } this.length = arr.length; вернуть Res; } Array.prototype.shift = function () {if (! This) return []; return this.splice (0,1) [0];}分开添加, 关键字 мелкая копия, 如果遇到数组 , 复制数组中的元素
Array.prototype.concat = function () {var i = 0; while (i <arguments.length) {if (typeof arguments [i] === 'object' && typeof arguments [i] .splice === 'function' &&! var j = 0; while (j <аргументы [i] .length) this.splice (this.length, 0, аргументы [i] [j ++]); i ++; } else {this [this.length] = аргументы [i ++]; }} вернуть это; } Array.prototype.join = function (разделитель) {var i = 0, str = ""; while (i <this.length) str+= this [i ++]+сепаратор; вернуть Str; } Array.prototype.pop = function () {return this.splice (this.length-1,1) [0];} array.prototype.push = function () {array.prototype.splice.apply (this, [this.length, 0] .concat (array.prototype.splice.apply (arguments); // 这里没有直接处理参数 , 而是复制了一下 вернуть это. } Array.prototype.reverse = function () {for (var i = 0; i <this.length/2; i ++) {var temp = this [i]; это [i] = это [this.length-1-i]; это [this.length-1-i] = temp; } вернуть это; } Array.prototype.slice = function (start, end) {var len = this.length; start = start <0? Start+= Len: Start? Start: 0; end = end <0? End+= Len: End> Len? Len: End? End: Len; var i = start; var res = []; while (i <end) {res.push (this [i ++]); } return res; } //Arr.unshift(Ele1,le2,le3 ....) array.prototype.unshift = function () {array.prototype.splice.apply (это, [0,0] .concat (array.prototype.slice.apply (это, аргументы))); }