Cadena 对象的扩展函数 :
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); para (var $ i = 0; $ i <$ ss.length; $ i ++) $ ss [$ i] = $ ss [$ i] .trim (); devolver $ ss; } String.prototype.htmlentities = function () {return this.replace (/&/g, '&'). Reemplazar (/</g, '<'). Reemplazar (/>/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 = "me encanta {0}, y te encanta {1}, donde están {0}!"; A.Format ("tú", "yo"); String.prototype.format = function () {var args = argumentos; return this.replace (// {(/d+)/}/g, función (m, i, o, n) {return args [i];}); }在字符串末尾追加字符串
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; Devuelve 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 (); return tmp1 == tmp2; }}将指定的字符串插入到指定的位置后面! 索引无效将直接追加到字符串的末尾
String.prototype.insert = function ($ ofset, $ str) {if ($ ofset <0 || $ ofset> = this.length-1) {return this.concat ($ str); } devolver esto.substring (0, $ ofset)+$ str+this.substring ($ ofset+1); }将指定的位置的字符设置为另外指定的字符或字符串. 索引无效将直接返回不做任何处理!
String.prototype.setcharat = function ($ ofset, $ str) {if ($ ofset <0 || $ ofset> = this.length-1) {return this.valueOf (); } devolver esto.substring (0, $ ofset)+$ str+this.substring ($ ofset+1); } String.prototype.replacelen = function (inicio, len, reemplazado) {if (! Len) devuelve esto; if (inicio> = this.length) devuelve esto; var returnseg = ''; var returnseg2 = ''; var i = 0; para (; i <this.length; i ++) {var c = this.charat (i); if (i <inicio) returnseg += c; if (i> = start + len) returnseg2 + = c; } return returnseg + reemplazado + returnseg2; }扩展基础类 :
替换字符 , 这个在替换填入比较有用 , 比如 *** 天 *** 小时 替换为 <input /> 天 <input /> 小时
String.prototype.replaceChar = function (target, reemplazado, inicio) {if (! Target) devuelve esto; if (! inicio) inicio = 0; var returnval = this.substring (0, inicio); índice var = 0; for (var i = start; i <this.length; i ++) {var c = this.charat (i); Target = typeof Target == 'function'? Target.call (este, índice): Target; if (c == target) {returnVal += typeof reemplazado == 'función'? reemplazado.call (este, índice): reemplazado; while (i <this.length - 1 && this.charat (i+1) == c) {i ++; } índice ++; } 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; else len ++; } return len; }在字符串的左边填充一些特定的字符
String.prototype.lpad = function (len, s) {var a = new array (this); var n = (len - this.length); para (var i = 0; i <n; i ++) {a.unshift (s); } return A.Join (""); }在字符串的右边填充一些特定的字符
String.prototype.rpad = function (len, s) {var a = new array (this); var n = (len - this.length); para (var i = 0; i <n; i ++) {a.push (s); } return 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? verdadero: falso; }将格式为 2008-04-02 10:08:44 的字符串转成日期 (cadena 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为 对象的值必须为,0,0 de.
String.prototype.todate = function () {var str = this.replace (/-/g, "/"); regreso (nueva fecha (str)); }将原来用字符串表示的十进数转成十进制浮点数: Precisión 为精度
String.prototype.tofloat = function (precision) {Precision = Precision || 2; return parsefloat (this, 10) .tofixed (precisión); }将原来用字符串表示的十进数转成十进制整数
String.prototype.toint = function () {return parseInt (this, 10) .ToString (); }将两个原来用字符串表示的十进数相加后当作字串返回: Agregar 为加数
String.prototype.add = function (adicional) {var sum = parsefloat (this, 10) + parsefloat (addend, 10); Sume de retorno+""; }十进制转其他进制代码如下 Nextscale 为进制 如 2,8,16
String.prototype.shiftscale = function (nextscale) {return parsefloat (this) .ToString (nextscale); }各进制互相转换 :
esto 对象必须是整数
@param prescale 原是是几进制数
@param NextScale 要转换成几进制数
String.prototype.scalesShift = function (prescale, nextscale) {return parseInt (this, prescale) .ToString (nextscale); }全角 2 半角 document.write ("abc 123 , 我们都是好朋友");
String.prototype.dbc2sbc = function () {
Devuelve this.replace (/[/uff01-/uff5e]/g, función (a) {return string.FromCharCode (A.CharCodeat (0) -65248);}). Reemplazar (// u3000/g, "");
}
Matriz.
var isnumeric = function (x) {// Devuelve verdadero si x es numérico y falso si no es así. var regexp = /^(-)?(/d*)(/.?)(/d*)$/; return string (x) .match (regexp); } var myArray = [1, 'dos', 3, 'cuatro', 5, 'Six', 7, 'ocho', 9, 'Ten']; var OddArray = myArray.Filter (isNumérico); // salidas: 1,3,5,7,9 var oDoDArray = myArray.Some (isnumérico); // salidas: verdadero var oDoDArray = myArray.every (isNumeric); // salidas: falso var printArray = function (x, idx) {document.writeLn ('[['+idx+'] ='+x); } myArray.ForEach (printArray); // salidas: [0] = 1 [1] = dos [2] = 3 [3] = cuatro [4] = 5 myArray.remove (9); document.writeln (myArray); if (! Array.prototype.every) {array.prototype.every = function (diversión /*, thantp* /) {var len = this.length; if (typeOf Fun! = "Función") tire nuevo typeError (); var thatp = argumentos [1]; for (var i = 0; i <len; i ++) {if (i en this &&! Fun.call (thantp, este [i], i, este) devuelve falso; } return verdadero; }; } if (! Array.prototype.filter) {array.prototype.filter = function (diversión /*, thantp* /) {var len = this.length; if (typeOf Fun! = "Función") tire nuevo typeError (); var res = new Array (); var thatp = argumentos [1]; for (var i = 0; i <len; i ++) {if (i en esto) {var val = this [i]; // en caso de diversión muta esto if (divertir.call (thatp, val, i, this)) res.push (val); }} return Res; }; } if (! Array.prototype.ForEach) {array.prototype.forEach = function (diversión /*, thantp* /) {var len = this.length; if (typeOf Fun! = "Función") tire nuevo typeError (); var thatp = argumentos [1]; para (var i = 0; i <len; i ++) {if (i in this) divers.call (thatp, este [i], i, esto); }}; } if (! Array.prototype.map) {array.prototype.map = function (diversión /*, thantp* /) {var len = this.length; if (typeOf Fun! = "Función") tire nuevo typeError (); var res = nueva matriz (len); var thatp = argumentos [1]; para (var i = 0; i <len; i ++) {if (i in this) res [i] = divers.call (thatp, this [i], i, this); } return Res; }; } if (! Array.prototype.moome) {array.prototype.some = function (diversión /*, thantp* /) {var len = this.length; if (typeOf Fun! = "Función") tire nuevo typeError (); var thatp = argumentos [1]; for (var i = 0; i <len; i ++) {if (i en this && divers.call (thantp, this [i], i, this)) devuelve verdadero; } return false; }; } Array.prototype.sortnum = function () {return this.sort (function (a, b) {return AB;}); } <!- var tmp = [5,9,12,18,56,1,10,42, 'azul', 30, 7,97,53,33,30,35,27,30, '35 ',' pelota ',' burbuja ']; var treinta = tmp.find (30); // Devuelve 9, 14, 17 var thIrtyFive = tmp.find ('35 '); // Devuelve 18 var thIrtyFive = tmp.find (35); // Devuelve 15 var haveBlue = tmp.find ('azul'); // Devuelve 8 var nofound = tmp.find ('¡no está allí!'); // devuelve falso var regexp1 = tmp.find (/^b/); // Devuelve 8,20 (la primera letra comienza con b) var regexp1 = tmp.find (/^b/i); // Devuelve 8,19,20 (igual que arriba pero ignora el caso) -> 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], this [i] = this [rnd], este [rnd] = tmp); devolver esto; } <!-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)); // salidas: true;-> array.prototype.compare = function (testararr) {if (this.length! = testoR.length) return false; for (var i = 0; i <teaTarr.length; i ++) {if (this [i] .compare) {if (! this [i] .compare (testarr [i])) return false; } if (this [i]! == tiendoarr [i]) return false; } return verdadero; }去掉数组中重复的值 var a = nueva matriz ("5", "7", "7"); a.unique ();
Array.prototype.unique = function () {var data = this || []; var a = {}; // 声明一个对象 , javaScript 的对象可以当哈希表用 para (var i = 0; i <data.length; i ++) {a [data [i]] = true; // 设置标记 , 把数组的值当下标 , 这样就可以去掉重复的值} data.length = 0; para (var i en a) {// 遍历对象 , 把已标记的还原成数组 this [data.length] = i; } Datos de retorno; } Array.prototype.addall = function ($ array) {if ($ array == null || $ array.length == 0) return; para (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 == $ valor) return true; } return false; } Array.prototype.indexof = function ($ value) {for (var $ i = 0; $ i <this.length; $ i ++) {if (this [$ i] == $ valor) return $ i; } return -1; } if (! Array.prototype.lastindexof) {array.prototype.lastindexof = function (elt /*, from* /) {var len = this.length; var from = número (argumentos [1]); if (isnan (from)) {from = len - 1; } else {from = (de <0)? Math.ceil (de): Math.floor (de); if (de <0) desde += len; else if (from> = len) from = len - 1; } para (; de> -1; de--) {if (de en este && this [from] === elt) return de; } return -1; }; } Array.prototype.insertat = function ($ value, $ index) {if ($ index <0) this.unshift ($ valor); else if ($ index> = this.length) this.push ($ valor); de lo contrario, este.splice ($ índice, 0, $ valor); }根据数组的下标来删除元素
Array.prototype.removeByIndex = function ($ n) {if ($ n <0) {// 如果 n <0 , 则不进行任何操作。 Devuelve esto; } else {return this.slice (0, $ n) .concat (this.slice ($ n+1, this.length)); }}依赖 índice de
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 (this [$ i] == $ OldValue) {this [$ i] = $ newvalue; devolver; }}} Array.prototype.swap = function ($ a, $ b) {if ($ a == $ b) return; var $ tmp = this [$ a]; esto [$ a] = this [$ b]; esto [$ b] = $ tmp; } Array.prototype.max = function () {return math.max.apply ({}, esto); } Array.prototype.min = function () {return math.min.apply ({}, esto); } Array.prototype.splice = function (start, dellen, element) {var len = this.length; inicio = inicio <0? 0: inicio> Len? Len: Inicio? Inicio: 0; Dellen = Dellen <0? 0: Dellen> Len? Len: Dellen? Dellen: Len; var arr = [], res = []; var iarr = 0, ires = 0, i = 0; para (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; regresar res; } Array.prototype.shift = function () {if (! This) return []; return this.splice (0,1) [0];}分开添加, 关键字 Copia poco profunda, 如果遇到数组 复制数组中的元素 复制数组中的元素
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 <argumentos [i] .length) this.splice (this.length, 0, argumentos [i] [j ++]); i ++; } else {this [this.length] = argumentos [i ++]; }} devuelve esto; } Array.prototype.join = function (separator) {var i = 0, str = ""; while (i <this.length) str+= this [i ++]+separator; regresar 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.slice.apply (argumentos)))); // 这里没有直接处理参数 , 而是复制了一下 Devuelve this.length; } Array.prototype.reverse = function () {for (var i = 0; i <this.length/2; i ++) {var temp = this [i]; esto [i] = this [this.length-1-i]; this [this.length-1-i] = temp; } devolver esto; } Array.prototype.slice = function (start, end) {var len = this.length; start = start <0? start+= len: inicio? Inicio: 0; end = end <0? End+= Len: End> Len? Len: End? End: Len; var i = inicio; var res = []; while (i <end) {res.push (this [i ++]); } return Res; } //arr.unshift(ele1,ele2,ele3 ...) array.prototype.unshift = function () {array.prototype.splice.apply (this, [0,0] .concat (array.prototype.slice.apply (this, argumentos))); }