String 类 Attribute and method
anchor() 创建一个<a>标签的实例,将其name属性设置为被传递给此方法的字符串big() 将字符串转换为<big>标签的一个实例blink() 将字符串转换为<blink>标签的一个实例bold() 将字符串转换为<bold>标签的一个实例charAt() 返回传递给此方法的索引处的字符concat() 连接被传递的两个字符串返回一个新字符串。fixed() 将字符转换<tt> 固定的pitch字体标签的一个实例fontcolor() 设置一个<font>标签实例的color属性fontsize() 设置一个<font>标签实例的size属性fromCharCode() 返回被传递给此方的ISO-Latin-1数字字符indexOf() 返回被传递给此方法的字符串在一个sting对象的实例中第一次出现的索引italics() 将字符串转换为<i>标签的一个实例lastIndexOf() 返回被传递给此方法的字符串在一个sting对象的实例中最后一次出现处的索引link() 将字符串转换为<a>标签的一个实例并且用被传递给此方法的URL设置的herf属性match() 返回一个数组,此数组包含革于被传递给此方法的规则表达式而找到的匹配。replace() 用被传递给此方法的规则表达式和替换字符串对调,用它的strin实例执行一个查找和替换。search() 返回被传递给此方法的字符串中找到的匹配的索引位置。如果没有找到字符中距离,返回-1Slice() 返回被传递给此方法的开始和结束索引之间的字符串。如果传递一个负值,索引以被传递的字符串尾部作为参考。Small() 将字符串换为<small>标签的一个实例Split() 返回被分割为段的字符串,这个分割由被传递给此方法的字符串和实例限制定义Strike() 将字符串转换为<strike>标签的一个实例Sub() 将字符串转换为<sub>标签的一个实例Substr() 返回从被索引位置开始包含要返回的一定个数的字符的字符串。如果一个负值被传递,索引以被传递的字符串的尾部作为参考substring() 返回被传递的开始和结束索引之间的字符sup() 将字符串转换为<sup>标签的一个实例toLowerCase() 将字符串中的所有字符转换为小写toSource() 返回被传递的字符作为string对象的字符串表示toString() 将被传递的字符作为string类型返回toUpperCase() 将字符串中的所有字符转换为大写length() 返回字符串的长度prototype() 为程序提供一种向string对象实例添加属性的能力String 类的扩展:
String.prototype.ToCharArray=function(){ return this.split("");}//倒序String.prototype.Reverse = function(){ return this.split("").reverse().join("");}//是否包含指定字符String.prototype.IsContains = function(str){ return (this.indexOf(str) > -1) ;}//判断是否为空String.prototype.IsEmpty=function(){ return this=="";}//判断是否是数字String.prototype.IsNumeric = function(){ var tmpFloat=parseFloat(this);if(isNaN(tmpFloat)) return false;var tmpLen=this.length-tmpFloat.toString().length;return tmpFloat+"0".GetSame(tmpLen)==this;}//判断是否是整数String.prototype.IsInt = function(){ if(this == "NaN") return false;return this == parseInt(this).toString();}//合并多个空白为一个空白String.prototype.resetBlank = function(){ return this.replace(/s+/g,"");}//除去左边空白String.prototype.LTrim = function(){ return this.replace(/^s+/g,"");}//除去右边空白String.prototype.RTrim = function(){ return this.replace(/s+$/g,"");}//除去两边空白String.prototype.trim = function(){ return this.replace(/(^s+)|(s+$)/g,"");}//保留数字String.prototype.getNum = function(){ return this.replace(/[^d]/g,"");}// 保留字母String.prototype.getEn = function(){ return this.replace(/[^A-Za-z]/g,""); }// 保留中文String.prototype.getCn = function(){ return this.replace(/[^u4e00-u9fa5uf900-ufa2d]/g,"");}//获取字节长度String.prototype.ByteLength=function(){ return this.replace(/[^\x00-\xff]/g,"aa").length;}// 从左截取指定长度的字串String.prototype.left = function(n){ return this.slice(0,n);}// 从右截取指定长度的字串String.prototype.right = function(n){ return this.slice(this.length-n);} // HTML编码String.prototype.HTMLEncode = function(){ var re = this; var q1 = [/x26/g,/x3C/g,/x3E/g,/x20/g]; var q2 = ["&","<",">"," "]; for(var i=0;i<q1.length;i++) re = re.replace(q1[i],q2[i]); return re;} //获取UnicodeString.prototype.Unicode = function(){ var tmpArr=[];for (var i=0; i<this.length; i++) tmpArr.push("&#" + this.charCodeAt(i) + ";");return tmpArr.join("");}//指定位置插入字符串String.prototype.Insert=function(index,str){ return this.substring(0,index)+str+this.substr(index);}//复制字符串String.prototype.Copy=function(){ if(IE) window.clipboardData.setData("text",this.toString());}//追加格式化后的字符串String.prototype.AppendFormat=function(str){ var arg=arguments;str=str.replace(/\{(\d+)\}/g,function(a,b,c){ if(arg[parseInt(b)+1]) return arg[parseInt(b)+1]; else return a;});return this+str;} 创建一个String 对象,语法:new String(stringValue),这个调用会将参数转换为字符串,并作为一个String 对象。事实上任何一个字符串常量都是一个String对象,可以将其直接作为对象来使用,这和使用new String()创建对象的区别是:typeof的返回值不同,一个是“stirng",另一个是"object".string.indexOf(searchString,position)----从position(可选)位置开始,搜索字符串中的第一个searchSting所出现的位置并返回。例如:"hello,jack".indexOf("hello")将返回0;"abcabc".indexOf("a",1)将返回3;string.lastIndexOf(searchString,position)--------从position(可选)位置开始,搜索字符串中的最后一个searchString所出现的位置并返回。如:"abcabc".lastIndexOf("b")将返回4string.charAt(pos)-------返回字符串中位置为pos的字符。例如:"abc".charAt(1)返回"b"stirng.charCodeAt(pos)------返回字符串中位置为pos的字符代码。对于ASCII 字符,这将返回其ASCII代码。例如:"abc".charCodeAt(0)返回97,表示字符"a"的ASCII码。string.slice(start,end)--------返回字符串中起始位置为start,结束位置为end(不包括end)的子字符串string.split(separator,linmit)------将字符串以separator作为分割符切割成多个子字符串,并将他们作为一个数组返回。linmit(可选)表示数组的最大长度,超过的部分将被舍弃。separator分隔符不被包含在任何子字符串中,如果sepatator为空字符串,则返回字符串中的字符序列组成的数组。如果split方法没有任何参数,则返回仅包含字符串本身,仅有一个元素的数组。string.split(separator,linmit)-------例如:"a1,b1,c1".split(",")将返回["a1","b1","c1"];"a,b,c".split(",",2)将返回["a","b"];"a,b,c".split("")将返回["a",",","b",",","c"];"ab,c".split()将返回["ab,c"]string.substr(start,length)--------返回字符串中起始位置为start,长度为length的子字符串。例如:"abcdefg".substr(1,3)将返回"bcd";string.substring(start,end)------返回字符串中起始位置为start,结束位置为end(包括end)的子字符串。这个方法和slice方法唯一不同体现在是否包含了end位置的字符。替换和匹配字符串(1)replace(searchValue,replaceValue)方法 该方法将字符串中第一个出现的searchValue子字符串替换为replaceValue,并返回新的字符串。原有的字符串不受影响。例如:var str1="aaaa";var str2=str1.replace("a","b");alert(str2);//输出"baaa"alert(str1);//输出"aaaa"上面代码中可以看出,使用replace函数仅能替换一个实例。如果要替换多个实例,则需要使用正则表达式,例如str.replace(/a/g,"b")能够将"aaaa"替换为"bbbb".(2)match(reExp)方法从字符串中搜索出匹配regExp正则表达式的所有子字符串,将他们作为一个数组返回。利用对象类型到布尔类型的转换规则,还可以判断一个字符串是否匹配regExp表示的正则表达式。例如:var strInput=prompt("请输入一个数字:",0);while(!strInput.match(/\d+/)){ strInput=prompt("请输入一个数字:",0);}(3)search(regExp)方法从字符串中搜索出匹配regExp正则表达式的第一个子字符串,返回其索引位置。例如:var str="aabcabcabc";alert(str.search(/abc/g));//显示“1”(4)String 对象的大小写转换var str="abc";str.toLowerCase()//转化小写str.toUpperCase()//转化大写(5)String 对象的连接var str="abc";var str2=str.concact("def","ghi");alert(str2);//将输出"abcdefghi"