1. toString()valueOf()

返回的都是自己

var str = 'abcdefg';
console.log(str.toString()); // -> 'abcdefg'
console.log(str.valueOf()); // -> 'abcdefg'

2. charAt(index)

返回在指定位置的字符。

var str = 'abcdefg';
var idx = str.charAt(3);
console.log(charAtEle);
// -> d

3. charCodeAt(index)

返回指定位置的字符的 Unicode 编码。

var str = 'abcdefg';
var idx = str.charCodeAt(3);
console.log(idx);
// -> 100  (d 的 Unicode编码是 100)

4. fromCharCode(n1, n2, ..., nX)

将 Unicode 编码转为一个字符 接受一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。

var charCode1 = String.fromCharCode(100);
var charCode2 = String.fromCharCode(72, 69, 76, 76, 79);
console.log(charCode1); // -> d
console.log(charCode2); // -> HELLO

5. indexOf(searchvalue,start)

返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回 -1。

/*
  *   searchvalue: 必需。规定需检索的字符串值
  *   start:  可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索
  */
var str = 'abcdbfg';
var idx1 = str.indexOf('b');
var idx2 = str.indexOf('b', 2);
console.log(idx1); // -> 1
console.log(idx2); // -> 4

6. lastIndexOf(searchvalue,start)

返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。

/*
  *   searchvalue: 必需。规定需检索的字符串值
  *   start: 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
  */
var str = 'abcdbfg';
var idx1 = str.lastIndexOf('b');
var idx2 = str.lastIndexOf('b', 2);
console.log(idx1); // -> 4
console.log(idx2); // -> 1

7. concat(string1, string2, ..., stringX)

concat() 方法用于连接两个或多个字符串。该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。

var str1 = 'abcd';
var str2 = 'efg';
var str3 = str1.concat(str2);
console.log(str3);
// -> 'abcdefg'

8. match(regexp)

在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

var str = 'abcdbef';
var matchEle = str.match(/b/gi);
console.log(matchEle);
// -> ["b", "b"]

9. replace(searchvalue,newvalue)

在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

/*
  *   searchvalue: 必须。规定子字符串或要替换的模式的 RegExp 对象。 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
  *   newvalue: 必需。一个字符串值。规定了替换文本或生成替换文本的函数。
  */
var str1 = 'abcdafg';
var newStr1 = str1.replace(/a/g, 'z');
console.log(newStr1); // -> zbcdzfg

var str2 = 'a1b2c3d4';
var newStr2 = str2.replace(/\d/g, function(v) {
  return Math.pow(v, 2);
});
console.log(newStr2); // -> a1b4c9d16

10. search(searchvalue)

检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。

var str = 'Abcdaef';
var idx1 = searchStr.search(/a/);
var idx2 = searchStr.search(/a/i);
console.log(idx1); // -> 4
console.log(idx2); // -> 0

11. slice(start,end)

提取字符串的某个部分,并以新的字符串返回被提取的部分。

/*
  *   start:必须. 要抽取的片断的起始下标。第一个字符位置为 0
  *   end: 可选。 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
  */
var str = 'abcdefg';
var newStr = str.slice(1, -1);
console.log(newStr);
// -> bcdef

12. split(separator,limit)

把一个字符串分割成字符串数组。如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割

/*
  *   separator: 可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
  *   limit: 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
  */
var str = 'abcdecg';
var splitStr1 = str.split('c');
var splitStr2 = str.split('');
console.log(splitStr1); // -> ["ab", "de", "g"]
console.log(splitStr2); // -> ["a", "b", "c", "a", "e", "f", "g"]

13. substr(start,length)

在字符串中抽取从 开始 下标开始的指定数目的字符。

/*
  *   start: 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
  *   length: 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
  */
var str = 'abcdefg';
var newStr = str.substr(2, 2);
console.log(newStr);
// -> cd

14. substring(from, to)

用于提取字符串中介于两个指定下标之间的字符。返回的子串包括 开始 处的字符,但不包括 结束 处的字符。

/*
  *   from:必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。
  *   to: 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
  */
var str = 'abcdefg';
var newStr = str.substring(2, 4);
console.log(newStr);
// -> cd

15. toLowerCase()

把字符串转换为小写。

var str = 'ABCDEFG';
var newStr = str.toLowerCase();
console.log(newStr);
// -> abcdefg

16. toUpperCase()

把字符串转换为大写

var str = 'abcdefg';
var newStr = str.toUpperCase();
console.log(newStr);
// -> ABCDEFG

17. trim(): 去除字符串两边的空白

var str = ' abcdefg   ';
var newStr = str.trim();
console.log(newStr);
// ->abcdefg

18. includes(searchvalue, start)

用来判断一个字符串是否包含一个指定的值,如果是返回 true,否则 false

var str = 'abcdefg';
var includesStr1 = str.includes('a');
var includesStr2 = str.includes('z');
console.log(includesStr1); // -> true
console.log(includesStr2); // -> false

19. startsWith(searchvalue, start)

表示是否字符(串)位于 string 的头部位置, 如果是返回 true,否则 false

var str = 'abcdefg';
var startsStr1 = str.startsWith('a');
var startsStr2 = str.startsWith('b');
console.log(startsStr1); // -> true
console.log(startsStr2); // -> false

20. endsWith(searchvalue, start)

表示是否字符(串)位于 string 的尾部位置, 如果是返回 true,否则 false

var str = 'abcdefg';
var endsStr1 = str.endsWith('f');
var endsStr2 = str.endsWith('g');
console.log(endsStr1); // -> false
console.log(endsStr2); // -> true

21. repeat(num)

参数 num 为重复字符串的次数

var str = 'abc';
var newStr = str.repeat(2); //重复两次
console.log(newStr);
// -> abcabc

22. ${}

模板字符串

var str = 'hello';
var tpl = `${str1} world`;
console.log(tpl);
// -> hello world

String HTML 包装方法

1. anchor(name)

用于创建 HTML 锚。

var str = '我是锚点';
var htmlStr = str.anchor('top');
console.log(htmlStr);
// -> <a name="top">我是锚点</a>

2. big()

把字符串显示为大号字体

var str = 'abcdefg';
var htmlStr = str.big();
console.log(htmlStr);
// -> <big>abcdefg</big>

显示闪动字符串

var str = 'abcdefg';
var htmlStr = str.blink();
console.log(htmlStr);
// -> <blink>abcdefg</blink>

4. bold()

使用粗体显示字符串。

var str = 'abcdefg';
var htmlStr = str.bold();
console.log(htmlStr);
// -> <b>abcdefg</b>

5. fixed()

以打字机文本显示字符串。

var str = 'abcdefg';
var htmlStr = str.fixed();
console.log(htmlStr);
// -> <tt>abcdefg</tt>

6. fontcolor(color)

使用指定的颜色来显示字符串。

var str = 'abcdefg';
var htmlStr = str.fontcolor('red');
console.log(htmlStr);
// -> <font color="red">abcdefg</font>

7. fontsize(size)

使用指定的尺寸来显示字符串, size 参数必须是从 1 至 7 的数字。

var str = 'abcdefg';
var htmlStr = str.fontsize(3);
console.log(htmlStr);
// -> <font size="3">abcdefg</font>

8. italics()

使用斜体显示字符串。

var str = 'abcdefg';
var htmlStr = str.italics(3);
console.log(htmlStr);
// -> <i>abcdefg</i>

将字符串显示为链接

var str = 'abcdefg';
var htmlStr = str.link('http://blog.liusixin.cn');
console.log(htmlStr);
// -> <a href="http://blog.liusixin.cn">abcdefg</a>

10. small(url)

使用小字号来显示字符串。

var str = 'abcdefg';
var htmlStr = str.small();
console.log(htmlStr);
// -> <small>abcdefg</small>

11. strike(url)

用于显示加删除线的字符串

var str = 'abcdefg';
var htmlStr = str.strike();
console.log(htmlStr);
// -> <strike>abcdefg</strike>

12. sub(url)

把字符串显示为下标

var str = 'abcdefg';
var htmlStr = str.sub();
console.log(htmlStr);
// -> <sub>abcdefg</sub>

13. sup(url)

把字符串显示为上标

var str = 'abcdefg';
var htmlStr = str.sup();
console.log(htmlStr);
// -> <sup>abcdefg</sup>