JavaScript学习笔记day3

JavaScript


一.DOM

1.DOM的样式操作

dom对象提供了一个内置属性 "style" 来控制节点对象的样式。
"style" 属性可以获取和设置节点的样式。

1.样式少的时候使用;
2.style是对象;
3.值是字符串,没有设置值是“”;
4.命名规则,驼峰命名。和css不一样;
5.设置了类样式不能获取。(只和行内式交互,和内嵌和外链无关);
6.box.style.cssText = “字符串形式的样式”;
7.style是一个对象,不能获取内嵌和外链。
<script>
			var app = document.getElementById('app');
			/*
				使用style属性操作节点的样式。
			*/
			app.style.width = "100px";
			app.style.height = "100px";
			app.style.backgroundColor = "pink";
			app.style.borderRadius = "50px";
		</script>

截图:
在这里插入图片描述

2.DOM节点操作【了解】

DOM是可以对节点进行新增,替换,删除的操作。
对节点的增 删 改。
  • 创建一个节点,并且追加到指定节点中

    //创建一个新的节点。
    var newP = document.createElement("p");
    
    //追加到指定节点中
    //box.appendChild(newP);
    box.append(newP);
    

    完整代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.p1{
				background-color: pink;
			}
			.p2{
				background-color: lightblue;
			}
			.p3{
				background-color: lightcoral;
			}
			.p4{
				background-color: lightgoldenrodyellow;
			}
		</style>
	</head>
	<body>
		<div id="box">
			<p class="p1">这一个段落标签01</p>
			<p class="p2">这一个段落标签02</p>
			<p class="p3">这一个段落标签03</p>
			<p class="p4">这一个段落标签04</p>
		</div>
		
		<button>点击添加新的节点</button>
		
		<script>
			//鼠标点击button
			document.getElementsByTagName('button')[0].onclick = function(){
				//1.查找id为box的节点
				var box = document.getElementById('box');
				
				//2.创建一个新的节点。
				var newP = document.createElement("p");
				
				//3.给新的节点添加文本内容
				newP.innerText = "这一个新创建的段落标签";
				
				//4.给定的节点添加样式
				newP.style.backgroundColor = "lightseagreen";
				
				/*
					将新创建的节点追加到box节点中。
				*/
				//box.appendChild(newP);
				box.append(newP);
			}
		</script>
	</body>
</html>

在这里插入图片描述点击添加
在这里插入图片描述

  • 插入节点

    将新创建的节点插入到指定的下标位置。
    box.insertBefore(newP,ps[2]);
    
<script>
			document.getElementsByTagName('button')[0].onclick = function(){
				//1.查找id为box的节点
				var box = document.getElementById('box');
				
				//2.创建一个新的节点。
				var newP = document.createElement("p");
				
				//3.给新的节点添加文本内容
				newP.innerText = "这一个新创建的段落标签";
				
				//4.给定的节点添加样式
				newP.style.backgroundColor = "lightseagreen";
				
				//5.获取box中所有的p元素
				var ps = box.getElementsByTagName('p');
				
				//6.将新创建的节点插入到指定的下标位置。
				box.insertBefore(newP,ps[2]);
			}
		</script>

在这里插入图片描述在这里插入图片描述

  • 替换节点

    box.replaceChild(newP,ps[1]);
    
<script>
			document.getElementsByTagName('button')[0].onclick = function(){
				
				var box = document.getElementById('box');
				
				//1.创建一个新的节点。
				var newP = document.createElement("p");
				
				//2.给新的节点添加文本内容
				newP.innerText = "这一个新创建的段落标签";
				
				//3.给定的节点添加样式
				newP.style.backgroundColor = "lightseagreen";
				
				//4.获取box中所有的p元素
				var ps = document.getElementsByTagName('p');
				
				//6.将新创建的节点插入到指定的下标位置。
				box.replaceChild(newP,ps[1]);
			}
		</script>

在这里插入图片描述在这里插入图片描述

  • 删除节点

    box.removeChild(ps[0]);
    
<script>
			document.getElementsByTagName('button')[0].onclick = function(){
				var box = document.getElementById('box');
				
				var ps = box.getElementsByTagName('p');
				/*
					通过对象删除指定节点。
				*/
				box.removeChild(ps[0]);
			
			}
			
		</script>

在这里插入图片描述
在这里插入图片描述

二.BOM

1.什么是BOM?

Broswer Object Model	浏览器对象模型。
window对象代表的浏览器窗口对象,是顶层对象。
该对象不需要使用new关键字来创建,可以直接使用。
任何对象都是window对象的子对象。
所以BOM可以理解为,浏览器提供的很多用于操作窗口的内置对象。
  • screen对象【了解】

    该对象是描述用户的屏幕信息的。
    
  • navigator对象【了解】

    该对象描述用户浏览器信息的。
    
  • 定时器

    按照设定的时间执行指定的业务。
    分类:
    	a)一次性定时器
    		setTimeout();
    	b)循环性定时器
    		setInterval();
    清除定时器
    clearTimeout();
    clearInterval();
    

三.正则表达式

1.什么是正则表达式

正则表达式通常是用来被检索、替换那些符合某个模式的文本。
校验用户输入内容的合法性。
通俗的说就是负责字符串匹配处理的规则。

2.如何使用正则表达式

JS提供了一个对象 "RegExp" 可以验证用户所填写的数据是否符合规则。

1.创建正则表达式对象。
	//方式一
	var reg = new RegExp();
	
	//方式二	常用
	var reg = /[]|\d/;
	

2.调用test(ch)方法验证内容
	test方法会对传入的ch进行全量检索。
	来查看是否符合正则表达式的规则。
	
	
注意:
	正则表达式要有开头有结尾。否则会出问题。

3.正则表达式符号

字符集:

  • [1234] 表示1,2,3,4之一
  • [^12] 表示除了1和2
  • [1-5] 表示1-5
  • [a-f] 表示a-f

预定义字符集:

  • \d 表示纯数字0-9
  • \D 表示非数字
  • \w 表示纯字符[0-9a-zA-Z_]
  • \W 表示非字符
  • \s 表示空白 \t \n \r
  • \S 表示非空白
  • . 表示任意字符

表示数量:

  • ^ 表示开头
  • $ 表示结尾
  • {m,n} 表示m到n个字符
  • {n,} 表示至少n个
  • {n} 表示n个
  • ? 表示出现0到1次
  • + 表示1到n次
  • *表示0到n次

需求:

1.邮箱
	^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2.强密码
	^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
3.身份证号码
	(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
4.电话号码
	^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$

正则表达式不用记,直接百度正则表达式生成器,里面有大量的写好的正则表达式,下面两个网站足够我们使用了。

正则表达式生成器

菜鸟工具

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangshaohui00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值