String : :
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); untuk (var $ i = 0; $ i <$ ss.length; $ i ++) $ ss [$ i] = $ ss [$ i] .trim (); mengembalikan $ SS; } String.prototype.htmlentities = function () {return this.replace (/&/g, '&'). REPLACE (/</G, '<'). REPLACE (/>/g, '>'); } String.prototype.striptags = function () {return this.replace (/<([^>]+)>/g, ''); } String.prototype.toArray = function () {return this.split (''); } String.prototype.tointArray = function () {var returnArray = []; untuk (var i = 0; i <this.length; i ++) {returnArray.push (this.charcodeat (i)); } returnarray return; } String.prototype.replaceall = function ($ old, $ snew) {return this.replace (baru regexp ($ old, "gm"), $ snew); }变量替换
var a = "I love {0}, dan Anda suka {1}, di mana {0}!"; a.format ("you", "me"); String.prototype.format = function () {var args = argumen; kembalikan this.replace (// {(/d+)/}/g, function (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; kembalikan 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); } return 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 (); } return this.substring (0, $ ofset)+$ str+this.substring ($ ofset+1); } String.prototype.replacelen = function (start, len, diganti) {if (! Len) kembalikan ini; if (start> = this.length) kembalikan ini; var returnseg = ''; var returnseg2 = ''; var i = 0; untuk (; i <this.length; i ++) {var c = this.charat (i); if (i <start) returnseg += c; if (i> = start + len) returnseg2 + = c; } return returnseg + diganti + returnseg2; }扩展基础类 :
替换字符 , 这个在替换填入比较有用 , 比如 *** 天 *** 小时 替换为 <input /> 天 <input /> 小时
String.prototype.replacechar = fungsi (target, diganti, mulai) {if (! Target) mengembalikan ini; if (! Mulai) mulai = 0; var returnVal = this.substring (0, start); indeks var = 0; untuk (var i = start; i <this.length; i ++) {var c = this.charat (i); target = typeOf target == 'fungsi'? target.call (ini, indeks): target; if (c == target) {returnVal += typeof diganti == 'fungsi'? diganti.call (ini, indeks): diganti; while (i <this.length - 1 && this.charat (i+1) == c) {i ++; } index ++; } else {returnVal += c; }} returnVal kembali; }将该字符串反序排列
String.prototype.reverse = function () {var str = ""; untuk (var i = this.length-1; i> = 0; i-) {str = str.concat (this.charat (i)); } return str; }计算长度 , 每个汉字占两个长度 , 英文字符每个占一个长度
String.prototype.uclength = function () {var len = 0; untuk (var i = 0; i <this.length; i ++) {if (this.charCodeat (i)> 255) len+= 2; lain len ++; } return len; }在字符串的左边填充一些特定的字符
String.prototype.lpad = function (len, s) {var a = array baru (ini); var n = (len - this.length); untuk (var i = 0; i <n; i ++) {a.unshift (s); } return A.join (""); }在字符串的右边填充一些特定的字符
String.prototype.rpad = function (len, s) {var a = array baru (ini); var n = (len - this.length); untuk (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? Benar: false; }将格式为 2008-04-02 10:08:44 的字符串转成日期 (String 对象的值必须为: 2008-04-02 10:08:44)
String.prototype.todate = function () {var str = this.replace (/-/g, "/"); return (new Date (str)); }将原来用字符串表示的十进数转成十进制浮点数: Presisi 为精度
String.prototype.tofloat = function (precision) {precision = precision || 2; mengembalikan parsefloat (ini, 10) .tofixed (precision); }将原来用字符串表示的十进数转成十进制整数
String.prototype.toint = function () {return parseInt (this, 10) .toString (); }将两个原来用字符串表示的十进数相加后当作字串返回: Tambahkan 为加数
String.prototype.add = function (addEnd) {var sum = parsefloat (this, 10) + parsefloat (addend, 10); kembalikan jumlah+""; }十进制转其他进制代码如下 NextScale 为进制 如 2,8,16
String.prototype.shiftscale = function (nextScale) {return parsefloat (this) .toString (nextScale); }各进制互相转换 :
ini 对象必须是整数
@param prescale 原是是几进制数
@param NextScale 要转换成几进制数
String.prototype.scaleShift = function (prescale, nextScale) {return parseInt (this, prescale) .toString (nextScale); }全角 2 半角 dokumen.write ("abc 123 , 我们都是好朋友");
String.prototype.dbc2sbc = function () {
kembalikan this.replace (/[/uff01-/uff5e]/g, function (a) {return string.fromCharCode (a.charcodeat (0) -65248);}). ganti (// u3000/g, "");
}
Array : :
var isNumeric = function (x) {// Mengembalikan true jika x adalah numerik dan false jika tidak. var regexp = /^(-)?(/d*)(/.?)(/d*)$/; return string (x) .match (regexp); } var myarray = [1, 'dua', 3, 'empat', 5, 'enam', 7, 'delapan', 9, 'sepuluh']; var ganjil = myarray.filter (isNumeric); // output: 1,3,5,7,9 var ganjil = myarray.some (isNumeric); // outputs: true var ganjilray = myarray.every (isNumeric); // outputs: false var printArray = function (x, idx) {document.writeln ('['+idx+'] ='+x); } myArray.foreach (printArray); // outputs: [0] = 1 [1] = dua [2] = 3 [3] = empat [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") lempar typeError baru (); var thisp = argumen [1]; untuk (var i = 0; i <len; i ++) {if (i in this &&! fun.call (thisp, this [i], i, this)) return false; } return true; }; } if (! array.prototype.filter) {array.prototype.filter = function (fun /*, thisp* /) {var len = this.length; if (typeof fun! = "function") lempar typeError baru (); var res = array baru (); var thisp = argumen [1]; untuk (var i = 0; i <len; i ++) {if (i di ini) {var val = ini [i]; // Jika menyenangkan bermutasi ini if (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") lempar typeError baru (); var thisp = argumen [1]; untuk (var i = 0; i <len; i ++) {if (i in this) fun.call (thisp, this [i], i, this); }}; } if (! array.prototype.map) {array.prototype.map = function (fun /*, thisp* /) {var len = this.length; if (typeof fun! = "function") lempar typeError baru (); var res = array baru (len); var thisp = argumen [1]; untuk (var i = 0; i <len; i ++) {if (i in this) res [i] = fun.call (thisp, this [i], i, this); } return res; }; } if (! array.prototype.some) {array.prototype.some = function (fun /*, thisp* /) {var len = this.length; if (typeof fun! = "function") lempar typeError baru (); var thisp = argumen [1]; untuk (var i = 0; i <len; i ++) {if (i in this && fun.call (thisp, this [i], i, this)) return true; } return false; }; } Array.prototype.sortnum = function () {return this.sort (function (a, b) {return ab;}); } <!- var tmp = [5,9,12,18,56,1,10,42, 'biru', 30, 7,97,53,33,30,35,27,30, '35 ',' Ball ',' Bubble ']; var tiga puluh = tmp.find (30); // pengembalian 9, 14, 17 var ThirtyFive = tmp.find ('35 '); // mengembalikan 18 var ThirtyFive = tmp.find (35); // Mengembalikan 15 var haLblue = tmp.find ('blue'); // mengembalikan 8 var notfound = tmp.find ('tidak ada di sana!'); // mengembalikan false var regexp1 = tmp.find (/^b/); // mengembalikan 8,20 (huruf pertama dimulai dengan b) var regexp1 = tmp.find (/^b/i); // mengembalikan 8,19,20 (sama seperti di atas tetapi abaikan kasus) -> array.prototype.find = function (searchStr) {var returnArray = false; untuk (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); }}} returnArray returner; }随机改变数组的排序
Array.prototype.shuffle = function () {for (var rnd, tmp, i = this.length; i; rnd = parseInt (math.random ()*i), tmp = this [-i], ini [i] = ini [rnd], ini [rnd] = tmp); kembalikan ini; } <!-var myArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; var youarray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; document.writeln (myarray.compare (yourArray)); // outputs: true;-> array.prototype.compare = function (testArr) {if (this.length! = testarr.length) return false; untuk (var i = 0; i <testarr.length; i ++) {if (ini [i] .compare) {if (! Ini [i] .compare (testarr [i])) mengembalikan false; } if (ini [i]! == testarr [i]) return false; } return true; }去掉数组中重复的值 var a = array baru ("5", "7", "7"); A.Unique ();
Array.prototype.unique = function () {var data = this || []; var a = {}; // 声明一个对象 , JavaScript 的对象可以当哈希表用 untuk (var i = 0; i <data.length; i ++) {a [data [i]] = true; // 设置标记 , 把数组的值当下标 , 这样就可以去掉重复的值} data.length = 0; untuk (var i di a) {// 遍历对象 , 把已标记的还原成数组 ini [data.length] = i; } mengembalikan data; } Array.prototype.addall = function ($ array) {if ($ array == null || $ array.length == 0) return; untuk (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 == nilai $) mengembalikan true; } return false; } Array.prototype.indexof = function ($ value) {for (var $ i = 0; $ i <this.length; $ i ++) {if (ini [$ i] == $ value) mengembalikan $ i; } return -1; } if (! array.prototype.LastIndexof) {array.prototype.LastIndexof = function (elt /*, dari* /) {var len = this.length; var dari = angka (argumen [1]); if (isnan (from)) {from = len - 1; } else {from = (from <0)? Math.ceil (dari): Math.floor (dari); if (dari <0) dari += len; lain jika (dari> = len) dari = len - 1; } untuk (; dari> -1; dari--) {if (dari dalam ini && ini [dari] === elt) kembali dari; } return -1; }; } Array.prototype.insertat = function ($ value, $ index) {if ($ index <0) this.unshift ($ value); lain jika ($ index> = this.length) this.push ($ value); lain this.splice ($ index, 0, $ value); }根据数组的下标来删除元素
Array.prototype.removebyIndex = function ($ n) {if ($ n <0) {// 如果 n <0 , 则不进行任何操作。 kembalikan ini; } else {return this.slice (0, $ n) .concat (this.slice ($ n+1, this.length)); }}依赖 Indeks
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 (ini [$ i] == $ oldValue) {this [$ i] = $ newValue; kembali; }}} Array.prototype.swap = fungsi ($ a, $ b) {if ($ a == $ b) kembali; var $ tmp = ini [$ a]; Ini [$ a] = ini [$ b]; Ini [$ 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; Mulai = Mulai <0? 0: Start> Len? Len: Mulai? Mulai: 0; dellen = dellen <0? 0: dellen> len? len: dellen? dellen: len; var arr = [], res = []; var iarr = 0, IRES = 0, i = 0; untuk (i = 0; i <len; i ++) {if (i <start || ires> = dellen) arr [iarr ++] = this [i]; else {res [IRES ++] = ini [i]; if (item && ires == dellen) {arr [iarr ++] = item; }}} if (item && ires <dellen) arr [iarr] = item; untuk (var i = 0; i <arr.length; i ++) {this [i] = arr [i]; } this.length = arr.length; Return Res; } Array.prototype.shift = function () {if (! This) return []; return this.splice (0,1) [0];}分开添加, 关键字 Salinan dangkal, 如果遇到数组 , 复制数组中的元素
Array.prototype.concat = function () {var i = 0; while (i <arguments.length) {if (typeOf argumen [i] === 'objek' && typeof argumen [i] .splice === 'function' &&! Argumen [i] .propertyiseMerable ('length')) {// tidak salinannya di bawah ini // array.prototype.croTyply.applyy ( / / tidak, ARRAY.IRRY.RAY.PROTYPE.CONCAT.APPLY. var j = 0; sementara (j <argumen [i] .length) this.splice (this.length, 0, argumen [i] [j ++]); i ++; } else {this [this.length] = argumen [i ++]; }} kembalikan ini; } Array.prototype.join = function (pemisah) {var i = 0, str = ""; while (i <this.length) str+= this [i ++]+pemisah; mengembalikan 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.protype.slice.lice.landy (array. // 这里没有直接处理参数 , 而是复制了一下 kembalikan ini. Panjang; } Array.prototype.reverse = function () {for (var i = 0; i <this.length/2; i ++) {var temp = this [i]; ini [i] = this [this.length-1-i]; this [this.length-1-i] = temp; } kembalikan ini; } Array.prototype.slice = function (start, end) {var len = this.length; Mulai = Mulai <0? Mulai+= Len: Mulai? Mulai: 0; end = end <0? end+= len: end> len? len: end? end: len; var i = mulai; var res = []; while (i <end) {res.push (ini [i ++]); } return res; } //arr.unshift(ele1,ele2.ele3 ....) array.prototype.unshift = function () {array.prototype.splice.Apply (ini, [0,0] .concat (array.prototype.slice.apply (ini, argumen))); }