String对象常用来保存文本形式的数据。
其转化方法有二种:
String(s)
new String(s)
String对象方法有:
charAt()
charCodeAt()
concat()
indexOf()
lastIndexOf()
match()
repeat()
replace()
search()
slice()
substr()
substring()
split()
toLowerCase()
toUpperCase()
trim()
valueOf()
toString()
一、charAt()方法
该方法返回指定位置的字符。
语法:
string.charAt(index)
index表示0到string.length-1之间的整数。如果没有提供索引,默认使用0。
例子:
var str="life is cool! come on";
document.write(str.charAt(2));//f
二、charCodeAt()方法
该方法返回一个表示给定索引处字符的 Unicode 编码值,通常范围在0到65535之间;如果索引超出范围,则返回 NaN
。
例子:
var str="abc";
document.write(str.charCodeAt(0));//97
三、concat()方法
该方法用于拼接多个字符串,性能没有"+"操作符好。建议多用"+"操作符。
例子:
var str="abc";
document.write(str.concat("defg","!"));//abcdefg!
四、indexOf()
该方法查找指定值第一次出现的位置索引。未找到则返回-1。该方法区分大小写。
语法:
indexOf(str,fromIndex)
str:表示要查找的值;
fromIndex:表示开始查找的位置,默认为0。
例子:
var str="life is cool";
document.write(str.indexOf("is"));//5!
检测是否存在某字符可以和"~"操作符来进行if判断。
五、lastIndexOf()
返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。没有找到则返回-1。
语法:
str.lastIndexOf(search, index)
可选的index表示查找的位置。默认是字符串的长度,即从末尾开始查找。
例子:
var str="life is life ";
document.write(str.lastIndexOf("f",5));//2 最后一个f被去掉了 所以索引2的f成了字符串出现的最后一个f
六、match()方法
找到与正则相匹配的项。
语法:
str.match(regexp);
regexp表示正则对象。如果传入一个非正则表达式对象,则会隐式地使用 new RegExp()
将其转换为一个 regexp。
返回值是存放一个或多个匹配(取决于正则的g标志)结果的数组。
例子:
var str="6 life is cool 562";
document.write(str.match(/\d/g));//6,5,6,2
七、repeat()方法
该方法表示字符串重复的次数
语法:
str.repeat(count)
count表示重复的次数。介于0和正无穷大之间的整数
例子:
var str="life";
document.write(str.repeat(2));//lifelife
八、replace()方法
调用该方法将一些字符替换为另一些字符,或替换一个与正则表达式匹配的子串。
语法:
str.replace(regexp/substr,replacement|function)
参数1表示:一个正则对象或者单纯的字符串(该字符串被视为一个整体,且仅仅是第一个匹配项被换掉);
参数2表示:用于替换参数1中匹配的字符串,或者用一个函数的返回值来替换参数1中的匹配项。
返回值是一个部分或全部匹配由替代模式所取代的新的字符串。
例子:
var str="life is cool life is beautiful";
document.write(str.replace(/life/g,"web"));//web is cool web is beautiful
//交换字符串中二个单词
var str="life is";
document.write(str.replace(/(\w+)\s(\w+)/, "$2 $1"));//is life
九、search()方法
该方法检索与正则表达式相匹配的子字符串。如果传入一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象。
返回值是匹配到的字符串中首次匹配的索引。没有则返回 -1。
search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置
例子:
var str="life is cool";
document.write(str.search("e"));//3
十、slice()方法
该方法用于提取字符串的一部分,并且返回新字符串。
语法:
str.slice(start,end)
start参数表示提取的起始下标,如果是负数则加上字符串的长度再开始提取。
end参数表示在该索引处结束提取字符串,如果省略该参数表示提取到字符串末尾。如果是负数则加上字符串的长度再进行提取。
该方法与数组的slice功能类似。提取的字符串索引包括start,但不包括end。
例子:
var str="life is cool";
document.write(str.slice(2));//fe is cool
var str="life is cool";
document.write(str.slice(-8,-2));//is co
十一、substr()方法
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
语法:
substr(start,length)
start参数表示提取的起始索引。负数的话加上字符串长度再提取。
length参数表示提取的字符数,省略表示提取到末尾。
例子:
var str="life is cool";
document.write(str.substr(2,5));//fe is
十二、substring()方法
该方法用于提取字符串中两个指定下标之间的字符。
语法:
str.substring(start,stop)
返回值是一个新的字符串,其内容是从 start 处到 stop-1 处的所有字符。
substring()方法参数不接受负数,这个跟slice和substr二个方法不同。
例子:
var str="life is cool";
document.write(str.substring(2,8));//fe is
十三、split()方法
该方法用于将一个字符串分割成字符串数组。
语法:
str.split([separator,[length])
separtor参数表示用来分割的字符,它可以是个字符串或者正则表达式,如果忽略这个参数,则返回整个字符串的数组形式;
如果这个参数是个空字符串则原字符串中的每个字符以数组形式返回。String.split() 执行的操作与 Array.join 执行的操作是相反的。
length参数表示数组返回的长度。如果省略整个字符串将被分割。
例子:
//不带参数 这整个字符串以数组形式返回
var str="life is cool";
document.write(str.split());//life is cool
//参数为空字符时,字符串的每个字符都被分割
var str="life is cool";
document.write(str.split(""));//l,i,f,e, ,i,s, ,c,o,o,l
var str="life is cool";
document.write(str.split("",4));//l,i,f,e
var str="life7is8cool9";
document.write(str.split(/\d/));//life,is,cool
十四、toLowerCase()方法
该方法把字符串转换为小写。
例子:
var str="LIFE IS COOL";
document.write(str.toLowerCase());//life is cool
十五、toUpperCase()
该方法将字符串值转换为大写形式,并返回。
例子:
var str="life is cool";
document.write(str.toUpperCase());//LIFE IS COOL
十六、trim()方法
该方法用于删除字符串两端空白。返回一个新的字符串不影响原字符串。(ie9以上才支持)
十七、valueOf()方法
该方法返回一个String
对象的原始值。该方法通常在 JavaScript 内部被调用,而不是在代码里显示调用。一般用来拆封。
十八、toString() 方法
奇妙的是除了数组,布尔,数字,等有toString方法,字符串也有,不过一般不会调用该方法。