2.1. 裁剪“三剑客”

三者知之间的相同与不同——>JavaScript字符串“三剑客”

2.1.1 slice

slice(start, end)end;参数如果为负数(传入一个或两个参数都可),-1 指字符串的最后一个字符的位置,-2 指倒数第二个字符,以此类推。只有一个参数为起始位置到结束。
注意: slice() 方法不会改变源字符串。

  1. var str="Hello world!";
  2. var n=str.slice(3,8);//结果为:lo wo
  3. var n=str.slice(0);//结果为:Hello world!
  4. var n=str.slice(-3);//结果为:ld!
  5. var n=str.slice(-5,-1);//结果为:orld

2.1.2 substring

string.substring(from, to);substring() 参数如果为负数(传入一个或两个参数都可),将其转化为零。只有一个参数为起始位置到结束。
注意: substring() 方法不会改变源字符串。切substring是唯一一个参数可以前大后小的,(str.substring(3,7)相当于str.substring(3, 7))

  1. <script>
  2. var str = "Hello world!";
  3. document.write(str.substring(3) + "<br>");//结果为:lo world!
  4. document.write(str.substring(3, 7) + "<br>");//结果为:lo w
  5. document.write(str.substring(-3) + "<br>");//结果为:Hello world!
  6. document.write(str.substring(-3, 7) + "<br>");//结果为:Hello w
  7. document.write(str.substring(3, -7) + "<br>");//结果为:Hel //这里(3,-7)->(3,0)->(0,3)
  8. document.write(str);//结果为:Hello world!
  9. </script>

2.1.3 substr

string.substr(start,length);参数如果为负数(传入一个或两个参数都可),第一个参数为倒数第几个,第二个参数将其转化为零。只有一个参数则与slice用法相同。
注意: substr() 方法不会改变源字符串。

var str="Hello world!";
var n=str.substr(2,5);//结果为:llo w
var n=str.substr(2);//结果为:llo world!
str4 = str.substr(-4,-2);  //相当于str.substr(6,0) //结果为:""

2.1 trim()

与jQuery中的$.trim()方法功能是一样的,用于删除字符串前后所有空格,然后返回结果,而原字符串保持不变。例如:

var str = ' Hello World     ';
console.log(str.trim());   //  "Hello World"
console.log(str);   //  " Hello World     "

2.2 trimLeft()和trimRight()

这两个方法分别用于删除字符串的左空格和右空格,用法与trim()是一样的,例如:

var str = ' Hello World     ';
console.log(str.trimLeft());    //  "Hello World     "
console.log(str.trimRight());    //  " Hello World"