> 本文介绍一些常用的字符串相关的属性和方法
[TOC]
## 字符串属性
| 属性 | 描述 |
| --- | --- |
| length | 返回字符串的长度 |
### length 属性
> 返回字符串的长度
~~~
var myname = "wangking";
console.log(myname.length)
~~~
## 字符串方法
更多方法实例可以参见:[JavaScript String 对象](https://www.runoob.com/jsref/jsref-obj-string.html)。
| 方法 | 描述 |
| --- | --- |
| indexOf() | 返回字符串中检索指定字符第一次出现的位置 |
| lastIndexOf() | 返回字符串中检索指定字符最后一次出现的位置 |
| match() | 正则匹配,返回数组多值 |
| replace() | 替换与正则表达式匹配的子串 |
| split() | 把字符串分割为子字符串数组 |
| substr() | 从起始索引号提取字符串中指定数目的字符 |
| toLowerCase() | 把字符串转换为小写 |
| toUpperCase() | 把字符串转换为大写 |
| trim() | 移除字符串首尾空白 |
### substr(start,[length]) 方法
> 例:从字符串中取得 13:50的数据
~~~
let str = "now is 13:50";
console.log(str.substr(str.indexOf('is ')+3))
~~~
### indexOf(searchVal) 方法
> 例:从字符串中取得 13:50的数据
~~~
let str = "now is 13:50";
console.log(str.substr(str.indexOf('is ')+3))
~~~
### lastIndexOf(searchVal) 方法
> 例:从字符串中提取出后缀名
~~~
let str = "xxx.yy.gif";
console.log(str.substr(str.lastIndexOf('.')))
~~~
### match(regexp) 方法
> 正则匹配,返回数组多值
~~~
var str="1 plus 2 equal 3"
console.log(str.match(/\d+/g)) // 返回数组 [1,2,3]
~~~
### replace(searchValue, newValue) 方法
> 字符串替换,支持正则
~~~
let str = "Hello Microsoft Microsoft!";
console.log(str.replace('Microsoft', 'wk')) //只会替换1次Microsoft
console.log(str.replace(/MiCrosoft/ig, 'wk')) // 全局替换,使用正则方式
~~~
### split(separator) 方法
> 将字符串分割为数组
~~~
var txt = "a,b,c,d,e";
console.log(txt.split(','))
~~~
### toLowerCase() 方法
> 例:将字符串转化为小写
~~~
var text = "Hello World!";
console.log(text.toLowerCase())
~~~
### toUpperCase() 方法
> 例:将字符串转化为大写
~~~
var text = "Hello World!";
console.log(text.toUpperCase())
~~~
### trim() 方法
~~~
var str = " Hello World! ";
console.log(str.trim())
~~~