第十讲 JavaScript对象编程(六)

系列课程目录

第十讲 JavaScript对象编程(六)



前言

JavaScript String对象

提示:以下是本篇文章正文内容,下面案例可供参考

一、String对象

1.什么是String对象

String对象一般用对字符串的储存和操作。是一种极其常用的对象。

  • 创建String对象
var str = new String('Hello World')
  • String对象属性--length属性
str.length // 11
  • 是否new的类型检查
var a = 'hello'
var b = new String('hello')
typeof a //String
typeof b //Object

可以看到直接赋值的a类型为String类型,通过new赋值的b类型为Object类型。

JS可以自动识别字符串并在操作时将String类型转换为Object类型。

2.String对象访问

  • 下标访问
var a = 'hello'
a[1] //'e'
  • 标准访问方式charrAt()
var a = 'hello'
a.charAt[1] //'e'

字符串的不可变性
在JavaScript中,字符串的值是不可变的,这意味着一单字符串被创建就不能被改变。

var a ='123'
a[0] = '0'
console.log[a]// '123'

无法改变,但可以重新赋值

var a = '123'
a = '023'
console.log[a]//'023'

3.String对象的修改

原始数据类型的字符串无法修改,但可以使用String对象的replace()方法进行修改

  • replace()
str.replace(要修改的字符,替换后的字符)
  • 无法修改原字符串,只是返回一个新字符串
var a = '123'
var b = a.replace('1','0')//b的值为"023"
  • 替换的值可以为空
var a = '123'
var b = a.replace('1','')//b的值为"23"
  • 可以对多个字符进行操作
var a = '1234567'
var b = a.replace('123','0123')//b的值为'01234567'

4.String对象的分割

split()传入一个分隔符作为参数,以该分隔符为标准,将字符串进行分割并存入一个新数组并返回

var a = '2021-4-6'
var b = a.split('-')//b:['','2021','4','6','']

注意分隔符的位置

var a = '-2021-4-6-'
var b = a.split('-')//b:['','2021','4','6','']

分隔符可以为空

var a = '123'
var b = a.split('')//b:['1','2','3']

第二个参数可选,代表分割后数组的最大长度

var a = '2021-4-5'
var b = a.split("-",2)//b:["2021",'4']

5.String对象常用方法

  • indexOf()

indexOf()返回要查找的字符第一次出现的位置下标,若未找到返回-1

var a = '1234567'

a.indexOf('3')//返回2
a.indexOf('8')//返回-1
  • toLowerCase

toLowerCase把字符串转为小写,不会修改原字符串

var a = 'ABC'
var b = a.toLowerCase()//b:"abc",a:"ABC"
  • toUpperCase()

toUpperCase()把字符串转为大写,不会修改原字符串

var a = 'abc'
var b = a.toUpperCase()//b:"ABC",a:"abc"

6.String对象的截取

  • trim()

trim()移除空白符(空格、制表符、换行符),只对头尾操作,不会修改原字符串

var a = '      a b c         '
var b = a.trim()//b:'a b c',a:'a b c'
  • slice()

与数组的slice()方法一致

  • substring()

该方法与slice类似,但参数不能使用负数,若参数为负会被当做0看待

var a = '1234567'
var b = a.substring(2)//b:'34567',a:'1234567'
var b = a.substring(2,5)//b:'345',a'1234567'

7.String对象的合并

concat()将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。 concat 方法并不影响原字符串。

var a = '123'
var b = '456'
var c = a.conocat(b)//c:'123456',a:'123'

二、课堂作业

1.按照要求完成任务

如下(示例):

在这里插入图片描述

2.解析代码

  • 任务10-1
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="text" style="width: 150px;" placeholder="标准格式为:yyyy-mm-dd" name="" id="vl" value="" />
		<input type="button" name="" id="" value="check" onclick="yz()" />
		<script type="text/javascript">
			function yz() {
				var v = document.getElementById("vl").value
				var arr = v.split("-")

				if (arr.length == 3 && (!isNaN(arr[0])) && (!isNaN(arr[1])) && (!isNaN(arr[2])) && (Number(arr[0]) > 1900)) {
					if (Number(arr[2]) >= 1 && Number(arr[2]) <= 9 && arr[2].substr(0, 1) == "0") {
						switch (arr[1]) {
							case "01":
							case "05":
							case "07":
							case "08":
							case "10":
							case "12":
							case "03":
								if (Number(arr[2]) <= 31 && Number(arr[2]) > 0) {
									alert("输出正确")
								} else {
									alert("输出错误")
								}
								break;
							case "04":
							case "06":
							case "09":
							case "11":

								if (Number(arr[2]) <= 30 && Number(arr[2]) > 0) {
									alert("输出正确")
								} else {
									alert("输出错误")
								}
								break;
							case "02":
								if (Number(arr[0]) % 4 == 0 && Number(arr[0]) % 100 != 0 || Number(arr[0]) % 400 == 0) {
									if (Number(arr[2]) <= 29 && Number(arr[2]) > 0) {
										alert("输出正确")
									} else {
										alert("输出错误")
									}

								} else {
									if (Number(arr[2]) <= 28 && Number(arr[2]) > 0) {
										alert("输出正确")
									} else {
										alert("输出错误")
									}

								}
								break;
							default:
								alert("输出错误");
								break;
						}
					}else{
						alert("输出错误");
					}
				} else {
					alert("输出错误");
				}
			}
		</script>
	</body>
</html>

总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值