1.substring()返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。
语法:str.substring(indexStart[, indexEnd])
提取从 indexStart 到 indexEnd(不包括)之间的字符
- 如果 indexStart 等于 indexEnd,substring 返回一个空字符串。
- 如果省略 indexEnd,substring 提取字符一直到字符串末尾。
- 如果任一参数小于 0 或为 NaN,则被当作 0。
- 如果任一参数大于 stringName.length,则被当作 stringName.length。
如果 indexStart 大于 indexEnd,则 substring 的执行效果就像两个参数调换了一样。例如,str.substring(1, 0) == str.substring(0, 1)。
2.substr()返回一个字符串中从指定位置开始到指定字符数的字符。
语法:str.substr(start[, length])
- 如果start为负值,可看成str.length + start
栗子:
给一个单词,如果单词的长度是奇数,则返回中间字符。如果单词的长度是偶数,则返回中间两个字符。
function getMiddle(s) {
return s.substr(Math.ceil(s.length / 2 - 1), s.length % 2 === 0 ? 2 : 1);
}
3.repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本
栗子:
提供一个字符串,返回如下形式:
“abcd” –> “A-Bb-Ccc-Dddd”
“RqaEzty”–> “R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy”
function accum(s) {
return s.split('').map(function(c, i){
return c.toUpperCase() + c.toLowerCase().repeat(i);
}).join('-');
}
4.replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数
栗子:
字符串首字母大写
String.prototype.toJadenCase = function () {
return this.replace(/(^|\s)[a-z]/g, function(x){ return x.toUpperCase(); });
};
"How can mirrors be real if our eyes aren't real"