JavaScript的String对象

1.String对象是JavaScript的内置对象

2.String对象的属性

(1)length属性,返回String对象的长度

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>String对象</title>
</head>
<body>
	<script language="javascript">
		window.onload = function(){//网页加载后调用匿名函数
			str = new String("abcdef");//创建了一个String对象
			var len = str.length;
			document.write(len);//网页上输出字符串的长度
		}
	</script>
</body>
</html>

这段代码的结果是在浏览器上显示6

3.String的方法

(1)charAt(n)

这个方法返回字符串的第n下标的字符

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>String对象</title>
</head>
<body>
	<script language="javascript">
		window.onload = function(){
			str = new String("abcdef");
			var obj1 = str.charAt(1);//这里显示下标为1的元素即b
            var obj2 = str.charAt(1.0);
            //这里小数也是能取到值的,1.0就是1,后面小数直接删去不看即可
            //同理,例如2.2也就是2,3.9也就是3 
            var obj3 = str.charAt(-1);//如果是负数,就返回空字符串   
			var obj4 = str.charAt(10);//没有下标为10的元素,所以返回空字符串
			document.write(obj1,obj2,obj3,obj4);
		}
	</script>
</body>
</html>

注意:1.如果下标溢出,就会输出空字符串

2.如果输入的是小数,就会去掉小数

3.如果输入的是负数,就返回空字符串

(2)indexOf(str[,index])

这个方法返回字串str的首字符的位置,index表示从哪处开始寻找,从此处向右寻找,若是没找到就返回-1

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>String对象</title>
</head>
<body>
	<script language="javascript">
		window.onload = function(){
			str = new String("abcdef");
			var pos1 = str.indexOf("bcd");//b位于下标1,所以返回1
			var pos2 = str.indexOf("bcd",1);
            //1表示从下标1处开始寻找,包括1这个位置,所以也输出1
			var pos3 = str.indexOf("bcd",2);
//但是2处就找不到了bcd的位置了,因为这样一个字串放在这其实可以看成b的位置,向右找不到,所以返回了-1
            var pos4 = str.indexOf("bcd",-100);//如果输入的index是负数,则没有效果,输出1
			document.write(pos1,pos2,pos3,pos4);
		}
	</script>
</body>
</html>

注意:index输入负数就无效,但是还是有输出,输出和没有index的效果相同

如果输入小数,和上方charAt一致,也是省去小数

(3)lastIndexOf

返回最后一次出现字串的位置,如果输入的是字串,也是按照第一个字符来寻找,index表示从哪开始,右往左读,没找到就输出-1

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>String对象</title>
</head>
<body>
	<script language="javascript">
		window.onload = function(){
			str = new String("abkckdekf");
			var pos1 = str.lastIndexOf("kf");//最后一个kf的k的下标为7
			var pos2 = str.lastIndexOf("k",6);
            //从右往左读,所以与indexOf不同,这样输出的是4即6向左最近的k
			var pos3 = str.lastIndexOf("k",6.0);//输出与小数没有的一致
			var pos4 = str.lastIndexOf("k",-1);//这个输出的是-1,负数就是没找到
			var pos5 = str.lastIndexOf("k",100);
            //这个输出的是7,说明从下标为100的位置向前找能找到
            document.write(pos1,pos2,pos3,pos4,pos5);
		}
	</script>
</body>
</html>

注意:index输入负数就有效,输出-1,但是index为超出范围的值后能正常输出

如果输入小数,和上方charAt一致,也是省去小数

indexOf和lastIndexOf总结

1.都是找字串的首字符的下标,但是indexOf是从左向右找,lastIndexOf从右向左找

2.index表示查找的位置,如果超出范围并不会报错,在indexOf中-1就可以想象为字符串最左边还有一个左边的值,从那个数开始找,所以效果与最左边开始找一致,在lastIndexOf中,100表示在字符串左边第100位有值(假想),然后效果与没有也是一样的

3.如果index输入的是小数,删去小数即可,例如1.1看成1

4.index的值是包括在查找范围里的,例如index输入2,2也包括在查找范围内

5.如果没有找到就输出-1

(4)link(href)

创建链接,有返回值,原字符属性不变

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>String对象</title>
</head>
<body>
	<script language="javascript">
		window.onload = function(){
			str = new String("点击进入")
			var link = str.link("...")//此处网址省略,总之输入一个网址就可以在网页上点击进入
			document.write(link);
		}
	</script>
</body>
</html>

具体效果如图

(5)match(正则表达式)

如图,match中写入正则表达式,在JavaScript中,正则表达式通常使用斜杠(/)包围起来,而不是双引号(“”)或单引号(‘’),并且匹配出的是第一个满足的数字

正则表达式使用方法简写如下:

元字符:

指的是具有特殊意义的专用字符:

^开始

$结束

.匹配所有字符(除了\n)

\w匹配字母,数字,下划线

\W匹配非字母,非数字,非下划线

\s匹配任意空白字符

\S匹配任意非空白字符

\d匹配任意十进制数

限定符:

限定匹配的次数:

?前面的字符0次或1次

+前面的字符1次或多次

*前面的字符0次或多次

{n}前面字符n次

{n,}前面至少n次

{n,m}前面最少n最多m

[.?!]/[0-9]区间字符,匹配[]内的元素

^排除[]不在的字符[^0-9]匹配除此之外的字符

|选择字符,或者关系

\转义字符,\.将.转为正常点

[\u4e00-\u9fa5]匹配任意的汉字

()分组改变限定符的作用six|fourth和(six|four)th分别匹配six和fourth以及sixth和fourth

(6)replace(原字符的正则表达式,转换后的字符)

这样就把第一个匹配到的数值改为t

(7)search(正则表达式)

search的返回值是匹配到的字符的下标位置,如果没找到就返回-1

匹配a到z,此时第一个a出现在下标3

找不到空格,所以输出-1

(8)slice(m,n)将字符的下标m到n的字符串提取出来,并且把这个字符串放到新的字符串中

注意:1.slice左取右不取

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>String对象</title>
</head>
<body>
	<script language="javascript">
		window.onload = function(){
			str = new String("123abc456tfg789");
			var s = str.slice(1,-1);//这里的-1与上面的-1不同,这里的-1就是指最后一个字符
			//输出23abc456tfg78
            document.write(s);
		}
	</script>
</body>
</html>

2.-1的含义改变为最后一个字符

(9)split(分隔符)

将字符串分割为字符串数组

如图,分隔后原字符分隔符消失,变为逗号

(10)substring(m,n)

取出m到n的子字符串

同理,取左不取右

(11)toUpperCase(),toLowerCase()表示变大写和变小写

toLowerCase同理。

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值