\ 转义字符

\‘ 单引号
\“ 双引号
\\ \ 反斜杠
\b 退格键
\f 换页
\n 新行
\r 回车
\t 水平制表符
\v 垂直制表符

indexOf()

方法返回字符串中指定文本首次出现的索引(位置)

lastIndexOf()

方法返回指定文本在字符串中最后一次出现的索引(位置)
如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1

search()

检索字符串中的字符串
方法搜索特定值的字符串,并返回匹配的位置
两种方法,indexOf() 与 search(),是相等的。
这两种方法是不相等的。区别在于:

  • search() 方法无法设置第二个开始位置参数。
  • indexOf() 方法无法设置更强大的搜索值(正则表达式)。

    提取部分字符串

    有三种提取部分字符串的方法:

  • slice(start, end)

  • substring(start, end)
  • substr(start, length)

    slice() 方法

    slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。
    该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。
    1. var str = "Apple, Banana, Mango";
    2. var res = str.slice(7,13);
    3. res 的结果是:Banana

如果某个参数为负,则从字符串的结尾开始计数。

  1. var str = "Apple, Banana, Mango";
  2. var res = str.slice(-13,-7);
  3. res 的结果是:Banana

如果省略第二个参数,则该方法将裁剪字符串的剩余部分:

  1. var res = str.slice(7);
  2. 或者从结尾计数:
  3. var res = str.slice(-13);

提示:负值位置不适用 Internet Explorer 8 及其更早版本。

substring() 方法

substring() 类似于 slice(),不同之处在于 substring() 无法接受负的索引。

  1. var str = "Apple, Banana, Mango";
  2. var res = str.substring(7,13);
  3. res 的结果是:Banana

如果省略第二个参数,则该 substring() 将裁剪字符串的剩余部分。

substr() 方法

substr() 类似于 slice(),不同之处在于第二个参数规定被提取部分的长度。

  1. var str = "Apple,Banana,Mango";
  2. var res = str.substr(6,6);
  3. res 的结果是:Banana
  4. 如果省略第二个参数,则该 substr() 将裁剪字符串的剩余部分。
  5. var res = str.substr(7);
  6. res 的结果是:Banana, Mango
  7. 如果首个参数为负,则从字符串的结尾计算位置。
  8. var res = str.substr(-5);
  9. res 的结果是:Mango
  10. 第二个参数不能为负,因为它定义的是长度。

replace()

方法用另一个值替换在字符串中指定的值

  1. str = "Please visit Microsoft!";
  2. var n = str.replace("Microsoft", "W3School");
  3. replace() 方法不会改变调用它的字符串。它返回的是新字符串。
  4. 默认地,replace() 只替换首个匹配,
  5. 默认地,replace() 对大小写敏感
  6. str = "Please visit Microsoft!";
  7. var n = str.replace("MICROSOFT", "W3School");
  8. 如需执行大小写不敏感的替换,请使用正则表达式 /i(大小写不敏感):
  9. var n = str.replace(/MICROSOFT/i, "W3School");
  10. 请注意正则表达式不带引号。
  11. 如需替换所有匹配,请使用正则表达式的 g 标志(用于全局搜索):
  12. var n = str.replace(/Microsoft/g, "W3School");

转换为大写和小写

通过 toUpperCase() 把字符串转换为大写:

  1. var text1 = "Hello World!"; // 字符串
  2. var text2 = text1.toUpperCase(); // text2 是被转换为大写的 text1
  3. 通过 toLowerCase() 把字符串转换为小写:
  4. var text1 = "Hello World!"; // 字符串
  5. var text2 = text1.toLowerCase(); // text2 是被转换为小写的 text1

concat() 方法

concat() 连接两个或多个字符串:

  1. var text1 = "Hello";
  2. var text2 = "World";
  3. text3 = text1.concat(" ",text2);
  4. concat() 方法可用于代替加运算符。下面两行是等效的:
  5. var text = "Hello" + " " + "World!";
  6. var text = "Hello".concat(" ","World!");
  7. 所有字符串方法都会返回新字符串。它们不会修改原始字符串。
  8. 正式地说:字符串是不可变的:字符串不能更改,只能替换。

String.trim()

trim() 方法删除字符串两端的空白符:

  1. var str = " Hello World! ";
  2. alert(str.trim());
  3. Internet Explorer 8 或更低版本不支持 trim() 方法。
  4. 如需支持 IE 8,您可搭配正则表达式使用 replace() 方法代替:

提取字符串字符

这是两个提取字符串字符的安全方法:

  • charAt(position)
  • charCodeAt(position)

    charAt() 方法

    charAt() 方法返回字符串中指定下标(位置)的字符串:
    1. var str = "HELLO WORLD";
    2. str.charAt(0); // 返回 H

    charCodeAt() 方法

    1. charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码:
    2. var str = "HELLO WORLD";
    3. str.charCodeAt(0); // 返回 72

    把字符串转换为数组

    可以通过 split() 将字符串转换为数组:
    1. var txt = "a,b,c,d,e"; // 字符串
    2. txt.split(","); // 用逗号分隔
    3. txt.split(" "); // 用空格分隔
    4. txt.split("|"); // 用竖线分隔