Fork me on GitHub

javascript中字符串的属性和方法

javascript中字符串的操作是非常常见的,比如字符串的拼接,查找,替换等等,自己也就总结了一下工作中常用的一些方法。

1.字符串属性

1
2
var str = '自己好好生活';
console.log(str.length);//6

2.字符串位置方法

1
2
3
4
//indexOf(str)返回指定内容在元字符串中的位置,第一个参数是要查找的字符,第二个参数是从哪个索引开始查找
// lastIndexOf(str) 从后往前找,只找第一个匹配的
console.log(str.indexOf('生'))// 4
console.log(str.lastIndexOf('生'))// 4

3.字符方法

1
2
3
4
//charAt(index) 获取指定位置处字符
//charCodeAt(index)获取指定位置处字符的ASCII码
console.log(str.charAt(0));//自
console.log(str.charCodeAt(0))//33258

4.操作方法

1
2
3
4
5
6
7
8
9
10
11
12
// slice(startIndex,endIndex) 从startIndex位置开始,截取到endIndex位置,endIndex位置取不到
//slice接受负的参数,如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。
//也就是说,-1指字符串的最后一个字符,-2指倒数第二个字符,以此类推.
// concat(str)拼接字符串,等效于+,+更常用
// substring(startIndex, endIndex)从startIndex位置开始,截取到endIndex位置,endIndex位置取不到
// 注意:substring不接受负的参数
// substr(startIndex, length)从startIndex位置开始,截取length个字符
console.log(str.slice(0,3));//自己好
console.log(str.slice(-2,-1))//生
console.log(str.concat("abc"));//自己好好生活abc
console.log(str.substring(0,3))//自己好
console.log(str.substr(0,2))//自己

5.大小写转换方法

1
2
3
4
5
6
7
8
//toUpperCase() 或 toLocaleUpperCase() 转换大写
//toLowerCase() 或 toLocaleLowerCase() 转换小写
var str2 = 'abcs';
console.log(str2.toUpperCase())//ABCS
console.log(str2.toLocaleUpperCase())//ABCS
var str3 = 'ABCD'
console.log(str3.toLowerCase())//abcd
console.log(str3.toLocaleLowerCase())//abcd

6.匹配方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//replace(reg , Targetstr);//第一个参数是要匹配的正则表达式或者字符串,第二个参数是匹配的目标字符串
//search(reg) //执行一个查找,看该字符串对象与一个正则表达式是否匹配。如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引。否则,返回 -1。
var str4 = "abcoefoxyozzopp";
//把字符串中所有的o替换成!
console.log(str4.replace(/o/g,'!')) // abc!ef!xy!zz!pp
//或者
do{
str4 = str4.replace('o', '!');
}while(str4.indexOf('0')!==-1)
console.log(str4);// abc!ef!xy!zz!pp
//replace(reg)
var str = 'this is cat';
var reg = /i[a-z]/;
console.log(str.search(reg))//2
console.log(str.search('A'))//-1
//match方法:
//当字符串匹配到正则表达式(regular expression)时,match() 方法会提取匹配项,返回一个数组。
//如果正则表达式没有 g 标志,返回和 RegExp.exec(str) 相同的结果。
//而且返回的数组拥有一个额外的 input 属性,该属性包含原始字符串。
//另外,还拥有一个 index 属性,该属性表示匹配结果在原字符串中的索引(以0开始)。
//如果正则表达式包含 g 标志,则该方法返回一个包含所有匹配结果的数组。
//如果没有匹配到,则返回 null。
var str = 'this is cat hae';
var reg1 = /h[a-z]/;
var reg2 = /h[a-z]/g;
console.log(str.match(reg1));//["hi", index: 1, input: "this is cat hae"]
console.log(str.match(reg2));//["hi", "ha"]

7.其他方法

1
2
3
4
5
6
//trim()只能去除字符串前后的空白
//split(str)把字符串切割成字符数组
var str1 = ' abcds '
console.log(str1.trim())//abcds
console.log(str.split())//["自己好好生活"]
console.log(str.split(""))//["自", "己", "好", "好", "生", "活"]
-------------本文结束感谢您的阅读-------------