1、字符串的拼接
- 连接字符串通过“+”实现
- 拼接规则:“+”两边都为数字时,执行加法运算
“+”两边都为字符串时,进行字符串的拼接
“+”只要有一边为字符串,就进行字符串的拼接
2、字符串的属性
length:获取字符串的长度值;字符串的长度值只可以获取,不能修改
<script>
var str = "123" ;
var str1 = "abcde" ;
console.log(str.length);//5
str1.length = 10;
//将str1的长度值设置为10之后,最后输出来的结果仍然是字符串本身的长度,即5,所以字符串的length属性值是不可以修改的
console.log(str1.length);//5
</ script>
3、字符串的方法
1> charAt(index):
传入的参数为索引值,返回指定位置的字符串;返回的是长度值为1的字符串,一次只能返回一个字符串;如果没有查找到对应位置的字符串,则返回值为空
<script>
var str = "abcde" ;
console.log(str.charAt(1));//结果为b(返回指定位置的字符串)
console.log(str.charAt(6)); //结果为空(当查找不到字符串时,返回值为空)
console.log(str.charAt("1"));//传入的值为字符串的数字时,先将string转换为number类型,再继续查找
console.log(str.charAt("s"));//当传入的值是不能转化为数字的字符串时,默认查找的是该字符串的第一个值
</ script>
2> charCodeAt(index):
返回指定位置的字符串的ASCII码值
<script>
var str = "abcde" ;
console.log(str.charCodeAt(1));//结果为b(返回指定位置的字符串)
console.log(str.charCodeAt(6)); //结果为空(当传入的索引值不在字符串的索引值范围内时,返回值为NaN)
console.log(str.charCodeAt("1"));//传入的值为字符串的数字时,先将string转换为number类型,再继续查找
console.log(str.charCodeAt("s"));//当传入的值是不能转化为数字的字符串时,默认查找的是该字符串的第一个值
var str1="231231231ad";
for(var i=0;i<str1.length;i++){
var n=str1.charCodeAt(i);
if(n<48 || n>57){
console.log("第"+i+"个不是数字,对应的字符是"+str1.charAt(i));
}
}//根据ASCII码值查找不是数字的字符串
</ script>
3> fromCharCode(字符串编码值):
根据传入的字符编码值返回对应的字符
ASCII值:0~9 48-57 a~z 97-122 A~Z 65~90
4> indexOf(字符串[,索引值]):
a、根据传入的字符串,查找字符串出现的位置,返回字符串所在位置的索引值;
b、在查找字符串时。从左往右依次查找,返回的是该字符串的第一次出现的位置的索引值,查找一次,找到结果之后,将不再继续查找;
c、查找不到对应的字符串,返回值为-1
d、当传入两个参数时,第一个参数表示要查找的字符串,第二个参数表示要开始查找的位置
<script>
var str="123eddas123eqdas";
console.log(str.indexOf("123"));//查找字符串第一次出现的位置,返回值为索引值
console.log(str.indexOf("d"));//查找的字符串第一次出现之后,不再继续往后查找
console.log(str.indexOf("a",8));//第二个参数表示开始查找的索引值
console.log(str.indexOf());//什么也不输入时,默认找不到,返回值为-1
console.log(str.indexOf("123",-1));//当传入的第二个参数为负数时,表示从右往左依次查找
console.log(str.indexOf("a",30));//传入的索引值超出字符串的额长度时,返回值为-1,表示找不到
</script>
5> lastIndexOf(字符串[,索引值] ):
a、根据传入的字符串,从右往左依次查找,返回值为索引值,查找的是字符串第一个出现的位置
b、查找不到对应的字符串,返回值为-1;传入的值为负数时,返回值为-1,表示找不到
c、当传入两个参数时,第一个参数表示要查找的字符串,第二个参数表示要开始查找的位置
<script>
var str = "skadholkejqpoeip";
console.log(str.lastIndexOf("o"));//从右往左依次查找,返回第一次出现的索引值
console.log(str.lastIndexOf("o",2));//第二个参数表示开始查找的索引值
console.log(str.lastIndexOf(-1));//传入负数时,查不到,返回值为-1
console .log(str.lastIndexOf( "e" ,60 ));//第二个传入的数字的值大于字符串本身的长度时,默认返回第一次查找到字符串的位置
</script>
6、substr(start,length)
a、截取字符串,从start开始截取,截取个数为length,返回值为被截取的字符串
b、只传入第一个参数时,表示从start开始截取,截取到字符串结束
< script >
var str = "abcdefgh" ;
console.log(str.substr(1 , 2)); //传入两个参数,从1开始,截取两个-----bc
console.log(str.substr(3)); //从3开始,截取到结束-----defgh
console.log(str.substr(-2 ));//从最后一个开始截取,截取两个-----gh
console.log(str.substr(-3 ,5 )); //第一个数为负数时,第二个数不起作用-----fgh
console.log(str.substr(30));//查不到时,返回值为空
</ script>
7、subString(start,end)
a、截取字符串,从start开始,截取到end结束,返回值为被截取的字符串
b、只传入第一个参数时,表示从start开始截取,截取到字符串结束
< script >
var str = "abcdefgh" ;
console.log(str.substring(1, 2)); //传入两个参数,从1开始,到2结束,不包括2-----b
console.log(str.substring(3)); //从3开始,截取到结束-----defgh
console.log(str.substring(-2));//不接受负数,传入负数默认从0开始截取-----abcdefgh
console.log(str.substring(-3, 5)); //第一个数为负数时,从0开始,截取到5-----abcde
console.log(str.substring(30));//查不到时,返回值为空
</ script>
8、slice(start,end)
截取字符串,从start开始,截取到end结束,返回值为被截取的字符串
< script >
var str = "abcdefgh" ;
console.log(str.slice(1, 2)); //传入两个参数,从1开始,到2结束,不包括2-----b
console.log(str.slice(3)); //从3开始,截取到结束-----defgh
console.log(str.slice(-2));//从最后一个查找,查找两个-----gh
console.log(str.slice(-1, 5)); //第一个数为负数时,第二个为正数时,返回值为空
console.log(str.slice(30)); //查不到时,返回值为空
</ script>
9、split(“字符串”)
通过指定的字符将字符串分割为数组,返回值为数组
< script >
var str = "abcde" ;
console.log(str.split(""));//输出结果:["a","b","c","d","e"]
</ script>
10、trim()
去除字符串的前后空格,但是无法去除字符串中间出现的空格
< script >
var str = " a bcde " ;
console .log(str.trim());//输出结果:a bcde
</ script>
11、toLowerCase()
将所有字母都转换为小写
< script >
var str = "abcASDEde" ;
console.log(str.toLowerCase());//abcasdede
</ script>
12、toUpperCase()
将所有字母都转换为大写
< script >
var str = "abcde" ;
console.log(str.toUpperCase());//ABCDE
</ script>