一、string的属性
1、length获取字符串长度
var str = "dgf";
console.log(str.length) // 输出3
2、prototype向对象添加属性和方法
// 去掉字符左端的的空白字符
String.prototype.LeftTrim = function() {
return this.replace(/(^[\\s]*)/g, "");
}
// 去掉字符右端的空白字符
String.prototype.RightTrim = function() {
return this.replace(/([\\s]*$)/g, "");
}
// 去掉字符两端的空白字符
String.prototype.trim = function() {
return this.replace(/^\s*|\s*$/g, '');
}
// 判断字符串是否以指定的字符串开始
String.prototype.StartsWith = function(str) {
return this.substr(0, str.length) == str;
}
// 判断字符串是否以指定的字符串结束
String.prototype.EndsStr = function(str) {
return this.substr(this.length - str.length) == str;
}
二、string的方法
1、charAt() 获取字符串指定位置的字符
var str = "dgf"
console.log(str.charAt(0)) // 输出d
2、indexOf() 方法可返回某个指定的字符在字符串中首次出现的位置。
注意:此方法区分大小写字母,如果字符串中没有要检索的字符则返回-1
var str = "dgf";
console.log(str.indexOf(“g”)) // 输出1
3、lastIndexOf()方法正好与indexOf()方法相反,可返回某个指定的字符在字符串中最后一次出现的位置。
var str = "dgfdgf";
console.log(str.indexOf("f")) // 输出 2
console.log(str.lastIndexOf(“f”)) // 输出 5
注:此方法区分大小写字母,如果字符串中没有要检索的字符则返回-1
4、concat()用于连接多个字符串
var str1 = "dgf",
str2 = "html",
str3 = "web";
console.log(str1.concat(str2,str3)) // 输出dgfhtmlweb
不过很多时候字符串拼接用“+”来得更简便
上面str1,str2,str3都没办,返回的是一个新的字符串
5、split()用于将一个字符串分割成字符串数组
var str = "my name is dgf";
var str2 = "my,name,is,dgf"
console.log(str.split(" ")) // 返回["my", "name", "is", "dgf"]
console.log(str.split(" ", 3)) //3控制数组长度 返回 ["my", "name", "is"]
console.log(str.split(",")) //返回 ["my", "name", "is", "dgf"]
console.log(str.split(/\s+/)) // ["my", "name", "is", "dgf"]
6、slice()截取字符串中的一段,返回一个新字符串,原字符串不发生改变
var str = "dgfwebdemo";
console.log(str.slice(2, 3)); // 输出f
console.log(str.slice(2)); // 输出fwebdemo
注:返回新字符串含头不含尾,没有指定结尾的参数,返回的字符串为开始到结束。
7、toLowerCase()把字符串转换成小写
var str = "DGF";
console.log(str.toLowerCase()) // 输出 dgf
8、toUpperCase()把字符串转换成大写
var str = "dgf";
console.log(str. toUpperCase()) // 输出 DGF
9、substr()从指定字符串中抽取一个子串
var str = "dgfnydx";
console.log(str.substr(3)) // 输出nydx,指定起始位置,没指定长度,则抽取起始位到结束的子串
console.log(str.substr(3, 3)) // nyd,指定了起始位置和长度,则从起始位置抽取相应长度的子串
console.log(str.substr(-1)) // 输出x
console.log(str.substr(-2)) // 输出dx,如指定起始位置为负数,-1则从右往左数即字符串倒数第一位开始到结束,-2,-3以此类推。
console.log(str.substr(-3, 2)) // 输出 yd
console.log(str.substr(-3, 3)) // 输出 ydx
console.log(str.substr(-3, 4)) // 输出 ydx
10、substring()从指定字符串中抽取指定起始位置和结束位置之间的字符
var str = "dgfnydx";
console.log(str.substring(3)) // 输出 nydx
console.log(str.substring(3, 4)) // 输出 n
console.log(str.substring(3, 5)) // 输出 ny,抽取的子串含头不含尾
console.log(str.substring(5, 3)) // 输出 ny,如果起始位置大于结束位置,则先交换位置再抽取字符
注:起始位置的值为非负整数。
11、match()在字符串内匹配指定的值或者匹配正则表达式的值
var str = "the2demo5fdgf";
//检索字符串
console.log(str.match("dgf")); // dgf
console.log(str.match("dgfg")); // null
//匹配正则表达式
console.log(str.match(/\d+/g)); // 2, 5
12、replace()在字符串中替换与指定字符串相同的子串,或者替换与正则表达式匹配的字符。
var str = "welcome to my blog, you are my friend";
console.log(str.replace(/my/, "dgf's")) // welcome to dgf's blog, you are my friend
console.log(str.replace(/my/g, "dgf's")) // 全局替换welcome to dgf's blog, you are dgf's friend
13、search() 可用于检索字符串中指定的子串,或者与正则表达式匹配的子串。返回第一匹配的位置,其不执行全局匹配
var str = "welcome to dgf's blog! you are dgf's friend!";
console.log(str.search(/dgf/)) // 11 空格也算
console.log(str.search(/Dgf/)) // -1 search对大写字母敏感
console.log(str.search(/Dgf/i)) // 11 忽略大小写检索
注;如果没有检索到匹配的子串,返回-1
14、charCodeAt()返回指定位置字符的Unicode码,非负数
var str = "dgf";
console.log(str.charCodeAt(0)) // 100
15、charAt() 获取字符串指定位置的字符
var str = "dgf"
console.log(str.charAt(0)) // 输出d
评论区