JS字符串方法总结及字符串增删查改方法

来源:互联网 发布:启示录 知乎 编辑:程序博客网 时间:2024/06/05 15:48

字符串操作是js中用的比较频繁的操作,所以非常有必要熟悉字符串的常见操作方法。

1、charCodeAt方法

返回一个整数,代表指定位置字符的Unicode编码。

strObj.charCodeAt(index) 

说明:
index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。
如果指定位置没有字符,将返回NaN。
例如:

var str = "ABC"; str.charCodeAt(0); 结果:65 

2、fromCharCode方法

从一些Unicode字符串中返回一个字符串。

String.fromCharCode([code1[,code2...]]) 

说明:
code1,code2…是要转换为字符串的Unicode字符串序列。如果没有参数,结果为空字符串。
例如:

String.fromCharCode(65,66,112); 结果:ABp 

提示: charCodeAt和fromCharCode刚好是两个相反的方法,charCodeAt返回的是指定位置的字符的字符编码,而fromCharCode返回的是指定字符编码代表的字符。

3、charAt方法

返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。

strObj.charAt(index) 

说明:
index想得到的字符的基于零的索引。有效值是0与字符串长度减一之间的值。
例如:

var str = "ABC"; str.charAt(1); 结果:B 

4、indexOf方法

返回String对象内第一次出现子字符串索引位置(从左到右搜索)。如果没有找到子字符串,则返回-1。

strObj.indexOf(substr[,startIndex]) 

说明:

  • 参数substr为要在String对象中查找的子字符串。
  • 参数startIndex为该整数值指出在String对象内开始查找的索引。如果省略,则从字符串的开始处查找。
    例如:
01234567 var str = "ABCDECDF"; str.indexOf("CD"1); // 由1位置从左向右查找 123... 结果:2 

提示: charAt和indexOf刚好是两个相反的方法,charAt返回的是指定索引位置的字符,而indexOf返回的是指定字符的索引位置。

5、lastIndexOf方法

返回String对象中字符串最后出现的位置。如果没有匹配到子字符串,则返回-1。

strObj.lastIndexOf(substr[,startindex]) 

说明:

  • substr要在String对象内查找的子字符串。
  • startindex该整数值指出在String对象内进行查找的开始索引位置。如果省略,则查找从字符串的末尾开始。
    例如:
01234567 var str = "ABCDECDF"; str.lastIndexOf("CD",6); // 由6位置从右向左查找 ...456 结果:5 

6、slice方法

返回字符串的片段。

strObj.slice(start[,end]) 

说明:

  • 如果只有一个参数,则复制的是参数数字所表示的长度,索引从0开始
  • start指明子字符串的起始位置,该索引从0开始起算。如果start为负,将它作为length+start处理,此处length为字符串的长度。
  • end指明子字符串的结束位置,该索引从0开始起算。如果end为负,将它作为length+end处理,此处length为字符串的长度。

例如:

012345 var str = "ABCDEF"; str.slice(2,4); 结果:CD str.slice(1)结果:A

7、substring方法

返回位于String对象中指定位置的子字符串。

strObj.substring(start,end) 

说明:

  • start指明子字符串的起始位置,该索引从0开始起算。
  • end指明子字符串的结束位置,该索引从0开始起算。
  • substring方法使用start和end两者中的较小值作为子字符串的起始点。
  • 如果start或end为NaN或者为负数,那么将其替换为0。

例如:

012345 var str = "ABCDEF"; str.substring(2,4); // 或 str.substring(4,2); 结果:CD 

8、substr方法

返回一个从指定位置开始的指定长度的子字符串。

strObj.substr(start[,length]) 

说明:
start所需的子字符串的起始位置。字符串中的第一个字符的索引为0。
length在返回的子字符串中应包括的字符个数。
例如:

012345 var str = "ABCDEF"; str.substr(2,4); 结果:CDEF 

9、search方法

返回与正则表达式查找内容匹配的第一个字符串的位置。如果没有匹配到子字符串,则返回-1。

strObj.search(reExp) 

说明:
reExp包含正则表达式模式和可用标志的正则表达式对象。
例如:

var str = "ABCDECDF"; str.search("CD"); // 或 str.search(/CD/i); 结果:2 

10、concat

将两个或多个字符的文本组合起来,返回一个新的字符串。

str.concat([string1[,string2...]]) 

说明:
string1,string2要和所有其他指定的字符串进行连接的String对象或文字。
例如:

var str = "ABCDEF"; str.concat("ABCDEF","ABC"); 结果:ABCDEFABCDEFABC 

和“+”的效果是一样的

11、split

将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

strObj.split([separator[,limit]]) 

说明:

  • separator字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
  • limit该值用来限制返回数组中的元素个数。
    例如:
var str = "AA BB CC DD EE FF"; alert(str.split(" ",3)); 结果: ["AA", "BB", "CC"] 

12、toLowerCase方法

返回一个字符串,该字符串中的字母被转换成小写。
例如:

var str = "ABCabc"; str.toLowerCase(); 结果:abcabc 

13、toUpperCase方法

返回一个字符串,该字符串中的所有字母都被转换为大写字母。
例如:

var str = "ABCabc"; str.toUpperCase(); 结果:ABCABC

14、match方法

可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
例如:

var str = "The rain in SPAIN stays mainly in the plain"; var n=str.match(/ain/gi);结果:["ain", "AIN", "ain", "ain"]

15、replace() 方法

用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
该方法返回替换后的新字符串,该方法不会改变原始字符串。
replace如果替换数据时,默认只替换第一个。
例如:

var str=“Mr Blue has a blue house and a blue car.”; var n=str.replace(/blue/g,"red");结果:Mr Blue has a red house and a red car.

16、trim()方法去除字符串两边的空白

浏览器兼容性: IE9及以上

17、valueOf() 方法可返回 String 对象的原始值。

注意: valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。

例如:var str="Hello world!";document.write(str.valueOf());结果:Hello world!
0 0