字符串::
string.prototype.trim = function(){返回this.replace(/^/s+|/s+$/g,“”); } string.prototype.ltrim = function(){return this.replace(/^/s+/g,“”); } string.prototype.rtrim = function(){返回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(){返回this.replace(/&/g,'&')。替换(/</g,'<')。替换(/>/>/>/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)); }返回returnArray; } string.prototype.replaceall = function($ old,$ snew){return this.replace(new Regexp($ old,“ gm”),$ snew); }变量替换
var a =“我爱{0},你爱{1},{0}!”; a.format(“ you”,“ me”); string.prototype.format = function(){var args = garmuments;返回this.replace(// {(/d+)/}/g,function(m,i,o,n){return args [i];}); }在字符串末尾追加字符串
String.prototype.append = function($ str){return this.concat($ str); }删除指定索引位置的字符,索引无效将不删除任何字符
string.protype.deletecharat = function($ sindex){if($ sindex <0 || $ sindex> = this.length){return this.valueof(); } else if($ sindex == 0){返回this.substring(1,this.length); } else if($ sindex == this.length-1){返回this.substring(0,this.length-1); } else {返回this.substring(0,$ sindex)+this.substring($ sindex+1); }}}删除指定索引间的字符串.$sIndex和$eIndex所在的字符不被删除!依赖deleteCharAt
string.protype.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.protype.endswith = function($ str){返回this.substr(this.length -$ str.length)== $ str; }检查该字符串是否以某个字符串开始
string.protype.startswith = function(str){返回this.substr(0,str.length)== str; }比较两个字符串是否相等,不区分大小写!
string.protype.equalsignorecase = function($ str){if(this.length!= $ str.length){返回false; } else {var tmp1 = this.tolowercase(); var tmp2 = $ str.tolowercase();返回TMP1 == TMP2; }}}将指定的字符串插入到指定的位置后面!索引无效将直接追加到字符串的末尾
string.prototype.insert = function($ ofset,$ str){if($ ofset <0 || $ dourset> = this.length-1){return this.concat($ str)($ str); }返回this.substring(0,$ ofset)+$ str+this.substring($ ofset+1); }将指定的位置的字符设置为另外指定的字符或字符串。
string.protype.setCharat = function($ ofset,$ str){if($ ofset <0 || $ dourset> = this.length-1){return this.valueof(); }返回this.substring(0,$ ofset)+$ str+this.substring($ ofset+1); } string.prototype.replacelen = function(start,len,replated){if(!len)返回此;如果(start> = this.length)返回此; var returnseg =''; var returnseg2 =''; var i = 0; for(; i <this.length; i ++){var c = this.charat(i);如果(i <start)returnseg += c; if(i> = start + len)returnseg2 + = c; } return returnseg +替换 + returnseg2; }扩展基础类:
替换字符,这个在替换填入比较有用,比如***天
string.prototype.replacechar = function(target,替换,启动){if(!target)返回此;如果(!开始)开始= 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 =='函数'? target.call(this,index):target; if(c ==目标){returnVal += typeof替换=='function'?替换。 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)); }返回str; }计算长度,每个汉字占两个长度,英文字符每个占一个长度
string.prototype.uclength = function(){var len = 0; for(var i = 0; i <this.length; i ++){if(this.charcodeat(i)> 255)len+= 2;否则len ++; }返回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.protype.ucwords = function(){返回this.substring(0,1).touppercase()。concat(this.substring(1)); } string.prototype.contains = function($ str){返回this.indexof($ str)> -1? true:false; }将格式为2008-04-02 10:08:44的字符串转成日期(字符串:2008-04-02 10:08:44)
string.prototype.todate = function(){var str = this.replace(/ - /g,“/”);返回(新日期(str)); }将原来用字符串表示的十进数转成十进制浮点数:精度为精度
string.protype.tofloat = function(precision){precision = precision || 2;返回parsefloat(this,10).tofixed(precision); }将原来用字符串表示的十进数转成十进制整数
string.prototype.toint = function(){return parseint(this,10).toString(); }将两个原来用字符串表示的十进数相加后当作字串返回:加成为加数
string.prototype.add = function(Addend){var sum = parsefloat(this,10) + parsefloat(Addend,10);返回sum+“”; }sextscale为进制为进制为进制为进制2,8,16
string.protype.shiftscale = function(nextScale){return parsefloat(this).toString(nextScale); }各进制互相转换:
这个
@param预赛原是是几进制数
@Param NextScale要转换成几进制数
string.prototype.scaleshift = function(预刻,nextscale){return parseint(this,prescale).toString(nextScale); }全角2半角document.write(“ abc 123,我们都是好朋友”);
string.prototype.dbc2sbc = function(){
返回this.replace(/[/uff01-/uff5e]/g,function(a){return string.fromcharcode(a.charcodeat(0)-65248);})。
}
阵列扩展函数:
var isnumeric = function(x){//如果x是数字而false,则返回true。 var regexp =/^(-)?(/d*):(/ .?)/d* facte返回字符串(x).match(regexp); 。 var Oddarray = myArray.filter(isnumeric); //输出:1,3,5,7,9 var Oddarray = myArray.ysome(iSnumeric); //输出:true var Oddarray = 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);如果(!array.prototype.every){array.prototype.every = function(fun /*,thisp* /){var len = this.length; if(typeof fun!=“ function”)抛出新的typeError(); var thisp =参数[1]; for(var i = 0; i <len; i ++){if(i在此&&! }返回true; }; } if(!array.prototype.filter){array.prototype.filter = function(fun /*,thisp* /){var len = this.length; if(typeof fun!=“ function”)抛出新的typeError(); 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); }}返回res; }; } if(!array.prototype.foreach){array.prototype.foreach = function(fun /*,thisp* /){var len = this.length; if(typeof fun!=“ function”)抛出新的typeError(); var thisp =参数[1]; for(var i = 0; i <len; i ++){if(i在此)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”)抛出新的typeError(); var res = new Array(Len); var thisp =参数[1]; for(var i = 0; i <len; i ++){if(i在此)res [i] = fun.call(thisp,this [i],i,i,this); }返回res; }; } if(!array.prototype.some){array.prototype.some = function(fun /*,thisp* /){var len = this.length; if(typeof fun!=“ function”)抛出新的typeError(); var thisp =参数[1]; for(var i = 0; i <len; i ++){if(i在此&& fun.call中(thisp,this [i],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,'Blue',30,7,97,53,33,33,33,33,35,35,35,30,'35','35','Ball','Ball','Bubble']; var thirty = tmp.find(30); //返回9、14、17 var thirtyfive = tmp.find('35'); //返回18 var thirtyfive = tmp.find(35); //返回15 var haveblue = tmp.find('blue'); //返回8 var notFound = tmp.find('not!'); //返回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 = []} 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 [i] = this [rnd],this [rnd],this [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;对于(a)中的(var i){//遍历对象,把已标记的还原成数组,this [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.protype.contains = function($ value){for(var $ i = 0; $ i <this.length; $ i ++){var $ element = this [$ i];如果($ element == $ value)返回true; }返回false; } array.protype.indexof = function($ value){for(var $ i = 0; $ i <this.length; $ i ++){if(this [$ i] == $ value)返回$ i; }返回-1; } if(!array.prototype.lastIndexof){array.prototype.lastIndexof = function(elt /*,来自* /){var len = this.length; var fules = number(gragments [1]); if(isnan(来自)){from = len -1; } else {from =(来自<0)? Math.ceil(来自):Math.floor(从); if(从<0)来自 += len;否则if(来自> = len)来自= len -1; } for(; from> -1; from--){if(在此&& this [来自] === ELT中)从; }返回-1; }; } array.prototype.intertat = function($ value,$ index){if($ index <0)this.unshift($ value);否则if($ index> = this.length)this.push($ value);否则这个splice($ index,0,$ value); }根据数组的下标来删除元素
array.prototype.removebyIndex = function($ n){if($ n <0){//如果n <0,则不进行任何操作。返回; } else {返回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.protype.replace = function($ oldvalue,$ newValue){for(var $ i = 0; $ i = 0; $ i <this.length; $ i ++){if(this [$ i] == $ oldValue){this [$ i] = $ newValue;返回; }}} array.prototype.swap = function($ a,$ b){if($ a == $ b)返回; var $ tmp = this [$ a];这个[$ a] = this [$ b];这个[$ b] = $ tmp; } array.prototype.max = function(){return Math.max.apply({},this); } array.prototype.min = function(){return math.min.apply({},this); } array.protype.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 iarr = 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.protype.shift = function(){if(!this)return []; return this.splice(0,1)[0];}分开添加,关键字浅副本,如果遇到数组,复制数组中的元素
array.prototype.concat = function(){var i = 0; while(i <gragments.length){if(typeof gragonments [i] ==='对象'&& typeof参数[i]。 var j = 0; while(j <gragments [i] .length)this.splice(this.length,0,参数[i] [j ++]); i ++; } else {this [this.length] = gragments [i ++]; }}返回此; } array.prototype.join = function(saparator){var i = 0,str =“”; while(i <this.length)str+= this [i ++]+saparator;返回str; } array.protype.pop = function(){return this.splice(this.length-1,1)[0];} array.prototype.push.push = function(){array.prototype.splice.apply(this,[this,[this.length,0] .concat(aray.protototype.ssplice.splice.splysapply(griments)) //这里没有直接处理参数,而是复制了一下返回this.length; } array.protype.reverse = function(){for(var i = 0; i <this.length/2; i ++){var temp = this [i];这个[i] = this [this.length-1-i];这个[this.length-1-i] = temp; }返回此; } array.prototype.slice = function(start,end){var len = this.length; start = start <0?开始+= len:start?start:0; end = end <0?end+= len:end> len?len:end?end?end:len; var i = start; var res = []; while(i <end){res.push(this [i ++]); }返回res; } //arr.unshift(ele1,ele2 ,, ele3 ....)array.prototype.unshift = function(){array.prototype.splice.apply(this,[0,0,0] .concat(array.prototype.slice.slice.slice.slice.slice.apply.apply(this,gruments))); }