concat
字符串拼接方法,与数组中的concat()
用法基本相同。一般来说不用,而是用更为简单的+
代替。
var str = 'hello';
console.log(str + ' world');//hello world
console.log(str.concat(' world'));//hello world
charAt & charCodeAt
二者都是根据传入的索引号获取相应单字符,只不过前者返回值,后者返回字符编号。
不传入参数默认获取0号位置的字符。
var str = 'hello world';
console.log(str.charAt())//h
console.log(str.charCodeAt())//104
console.log(str.charAt(0))//h
console.log(str.charCodeAt(0))//104
console.log(str.charAt(5))//
console.log(str.charCodeAt(5))//32
console.log(str.charAt(4))//o
console.log(str.charCodeAt(4))//111
在es5中,可以用方括号直接获取到对应位置的字符。
var str = 'hello world';
console.log(str[4]);//o
slice & substr & substring
- 三者都会返回一个新的字符串,且都接收1-2个参数。
- 第一个参数均为开始截取的位置;
- 第二个参数,
slice
以及substring
为结束截取的位置,不是必需的,不传入则截取至字符串结尾。 substr
的第二个参数为截取的字符总数。- 当传入的参数为负数时,三者会有不同的行为,这里不讨论。
var str = 'hello world';
console.log(str.slice(3));//lo world
console.log(str.substring(3));//lo world
console.log(str.substr(3));//lo world
console.log(str.slice(3,7));//lo w
console.log(str.substring(3,7));//lo w
console.log(str.substr(3,7));//lo worl
indexOf & lastIndexOf
两个方法均为查找是否包含指定字符串,如果字符串中有指定的子串,则返回其起始索引号;没有则返回-1。前者从数组开头向后查,后者从数组结尾向前查找。
两个方法都接收2个参数,查找的值 和 开始查找的索引号(可选)。
var str = 'hello wstrorld';
console.log(str.indexOf('str'));//7
trim
es5中新增的方法,用于去除字符串开头和结尾的空格,返回一个新字符串。
var str = ' hello world ';
console.log(str.trim());//hello world
可用于表单的输入验证,去除用户输入的无效的空格。
此外,非标准的trimLeft()
及trimRight()
方法,分别去除字符串开头,字符串结尾的空格,具有兼容性问题。
toLowerCase & toUpperCase
借鉴于java.lang.String中的同名方法。前者将所有字符转换为小写,后者转换为大写,返回一个新的字符串。
var str = 'HeLLo WorLd';
console.log(str.toLowerCase());//hello world
console.log(str.toUpperCase());//HELLO WORLD
match & search
- 二者用于匹配字符串,只接收一个参数,且这个参数要么是一个正则表达式,要么是一个RegExp对象。
- 前者返回一个数组,数组的第一项为匹配的字符串,之后的项为正则表达式捕捉的项;
- 后者返回起始索引号,若未查找到返回-1。
var str = 'HeLLo WorLd';
console.log(str.match(/orl/i));//"orL", index: 7, input: "HeLLo WorLd"
console.log(str.search(/orl/i));//7
replace
- 该方法接收两个参数
- 第一个参数是一个正则表达式或一个RegExp对象或一个字符串(该字符串不会被转换为正则表达式)。若为字符串,则匹配第一个出现的该字符串。
- 第二个参数为新的,准备替换的字符串或者函数。
- 该方法还有更复杂的用法,这里不讨论。
var str = ' HeLLo WorLd HeLLo worLd ';
console.log(str.replace('Wor','zed'));// HeLLo zedLd HeLLo WorLd
console.log(str.replace(/Wor/ig,'zed'));//HeLLo zedLd HeLLo worLd
console.log(str.replace(/ /g,''));//HeLLoWorLdHeLLoworLd
split
- 该方法可将一个字符串按照分隔符分割成多个子字符串,并且将它们组成一个数组返回。
- 分隔符可以是一个正则表达式或RegExp对象,也可以是一个字符串(不会转化为正则表达式)。
- 可以接收第二个参数,限定数组的大小。
var str = 'a,b,c,d,e,f,D,,g';
console.log(str.split(','));//["a", "b", "c", "d", "e", "f", "D", "", "g"]
console.log(str.split(',',3));//["a", "b", "c"]
console.log(str.split(/d/i));//["a,b,c,", ",e,f,", ",,g"]
结语
有所收获的话,点个赞吧~