• JavaScript教程第四篇(作者原创)


    JavaScript教程

    博客主页:划水的阿瞒的博客主页
    欢迎关注🖱点赞🎀收藏⭐留言✒
    系列专栏:JavaScript 首发时间:🎞2022年8月6日🎠
    如果觉得博主的文章还不错的话,请三连支持一下博主哦

    1.Dom对象的整体层次结构

    在这里插入图片描述

    2. Document对象

    1.1常用字符串属性:

    在这里插入图片描述

    1.2案例1

    <script type="text/javascript">
    		document.write("最后修改时间:"+document.lastModified+"
    "
    ); document.title="欢迎来到Javascript世界"; document.bgColor="#efefef"; document.fgColor="red"; document.write("当前地址:"+document.location); </script>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    效果

    在这里插入图片描述

    1.3常用对象属性

    在这里插入图片描述

    案例

    	function changeInfo(){ 
    				document.form1.input1.value=33;
    				document.img.src="images/2.jpg"; 
    			} 
    
    		<form name="form1">
    			<input type="text"  name="input1" /> 
    		</form>
    		<img src="images/1.jpg" name="img" />
    <input type="button" value="点一点" onclick="changeInfo()"/>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    效果
    在这里插入图片描述

    1.4关键方法

    在这里插入图片描述

    案例:

    function clickMe(){
    			var myWin = window.open("","_blank","width=100px,height=100px"); 
    			myWin.document.write("直接输出");
    			myWin.document.writeln("1、输出后换行");
    			myWin.document.writeln("2、输出后换行");
    			myWin.document.writeln("3、输出后换行");
    			window.close();
    		}	
    
    <button onclick="clickMe()">点一点</button>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3.Screen对象

    2.1 对象介绍

    属于window的子对象。
    常用于获取屏幕的分辨率和色彩。
    对于该对象的使用来说,了解即可。

    2.2 书写格式

    在这里插入图片描述

    4.History对象

    4.1.对象介绍

    属于window的子对象
    常用于返回到已经访问过的页面

    4.2.书写格式:

    在这里插入图片描述

    4.3.案例:

    注意:history的相关方法,必须是在当前浏览器中以存在一些浏览记录的前提下才可以前进后退的操作,如果直接访问此页面则不存在浏览记录。

    在这里插入图片描述

    5.Location对象

    Location对象
    属于window的子对象
    常用于获取和改变当前浏览的网址
    常用的属性
    href 当前窗口正在浏览的网页地址
    replace(url) 转向到url网页地址
    reload() 重新载入当前网址,同按下刷新按钮
    案例:

    
    |
    |
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    6.表单

    6.1 表单元素

    在这里插入图片描述

    6.2 表单验证

    	
    
    <script type="text/javascript">
    		function check() { //检查t1输入是否为空
    			if(form1.uname.value != "") {
    				form1.submit();
    			} else {
    				alert("姓名不能为空,请重新输入!");
    				form1.uname.focus();
    			} //如果t1值为空则自动将焦点设定到t1输入框
    		}
    	</script>
    	<form name="form1">
    		姓名:<input type="text" name="uname" value="">
    		<input type="button" name="b1" onclick="check()" value="提交">
    	</form>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    6.3 案例

    在这里插入图片描述

    第一步:验证用户名
    用户名:4-20个字符(可使用字母、数字、下划线)
    参考代码
    function checkUser ( pUserName ) {
    var oContainer = document.getElementById(“userNameInfor”);
    oContainer.className = “font_error”;
    var reg = /^(\w|[\u4E00-\u9FA5])*$/; //用户名验证的正则表达式
    if ( pUserName.value == “” ) {
    oContainer.innerHTML = “请输入用户名!”
    return false;
    }
    if ( pUserName.value.charAt(0) == “_” ) {
    oContainer.innerHTML = “用户名不能以下划线开头,请重新填写!”
    return false;
    }
    if (pUserName.value.length> 20 || pUserName.value.length< 6 ) {
    oContainer.innerHTML = “用户名最长只能占20位字符,最短6个字符,请重新填写!”
    return false;
    }
    if ( !reg.test(pUserName.value) ) {
    oContainer.innerHTML = “名字中只能用数字、字母、下划线和汉字,请重新填写!”;
    return false;
    }
    oContainer.className = “font_true”;
    oContainer.innerHTML = “你填写的用户名是有效的!”;
    return true;
    }

    		
    			用户名:
    			
    			
    		
    
    • 1
    • 2
    • 3
    • 4
    • 5

    第二步:验证密码
    密码:由6-16个字符(可使用字母、数字、下划线)
    参考代码:

    		function checkpass(pass) { //密码验证
    			var pwd = document.getElementById("passinfor");
    			var pattern = /^[A-Za-z0-9_!@#$%^&*()]+$/; //密码验证正则表达式,英文、数字及字符
    			if(pass.value == "") {
    				pwd.className = "font_error"
    				pwd.innerHTML = "密码不能为空";
    				return false;
    			}
    			if(pass.value.length < 6) {
    				pwd.className = "font_error"
    				pwd.innerHTML = "密码不能少于6位";
    				return false;
    			}
    			if(!pattern.test(pass.value)) {
    				pwd.className = "font_error"
    				pwd.innerHTML = "密码只能是数字、字母、字符!";
    				return false;
    			}
    			pwd.className = "font_true"
    			pwd.innerHTML = "您设置的密码符合要求!";
    			return true;
    		}
    		
    			用户密码:
    			
    			
    		
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    第三步:验证确认密码
    确认密码:两次输入必须一致

    		function checkrepass( repass) { //确认密码验证
    			var repwd = document.getElementById("repassinfor");
    			repwd.className = "font_error"
    			if(repass.value == "") {
    				repwd.className = "font_error"
    				repwd.innerHTML = "确认密码不能为空";
    				return false;
    			}
    			var pass = document.regForm.upass;
    			if(pass.value != repass.value) { //确认密码是否与密码一致
    				repwd.className = "font_error"
    				repwd.innerHTML = "两次输入的密码不一样,请重新输入!";
    				return false;
    			}
    			repwd.className = "font_true";
    			repwd.innerHTML = "两次输入的密码一致!";
    			return true;
    		}
    		
    			确认密码:
    			
    			
    			
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    第四步:验证邮箱
    邮箱格式需要符合正则表达式

    		function checkemail(email) {
    			var einfor = document.getElementById("emailinfor");
    			if(!email.value.match(/^\w+((-{1,2}\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-{1,2})[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)) {	 
    				einfor.className = "font_error";
    				einfor.innerHTML = "您输入的电子邮件格式不正确,请重新输入!";
    				return false;
    			}
    			einfor.className = "font_true";
    			einfor.innerHTML = "你输入的电子邮件地址正确!";
    			return true;
    		}
    			
    				用户邮箱:
    				
    				
    				
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    第五步:省市联动
    var cityList = new Array();
    cityList[‘北京’] = [‘朝阳区’, ‘东城区’, ‘西城区’, ‘海淀区’, ‘宣武区’, ‘丰台区’, ‘怀柔’, ‘延庆’, ‘房山’];
    cityList[‘上海’] = [‘宝山区’, ‘长宁区’, ‘丰贤区’, ‘虹口区’, ‘黄浦区’, ‘青浦区’, ‘南汇区’, ‘徐汇区’, ‘卢湾区’];

    		function changeCity() {
    			var province = document.regForm.province.value;
    			document.regForm.city.options.length = 0;
    			for(var i in cityList) {
    				if(i == province) {
    					for(var j in cityList[i]) {
    						document.regForm.city.options.add(new Option(cityList[i][j], cityList[i][j]));
    					}
    				}
    			}
    			document.regForm.city.options.selctIndex = 0;
    		}
    
    		function loadAll() {
    			for(var i in cityList) {
    				document.regForm.province.options.add(new Option(i, i));
    			}
    			document.regForm.province.selectedIndex = 0;
    		}
    		window.onload=loadAll;
    
    			
    				用户籍贯:
    				
    					省份:
    					城市:
    					
    				
    				
    			
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    7.动态样式表

    7.1 动态样式表

    指的是在JavaScript中直接对对象的style属性进行设定
    HTML组件中的style属性将立即起作用

    7.2 动态改变风格

    function c(css) { document.getElementById(‘up’).className = css; }

    .yellow { COLOR: #ffff00; BACKGROUND-COLOR: #e19d00 }
    .blue { COLOR: #ffffff; BACKGROUND-COLOR: #3a6ea5 }
    .green { COLOR: #ffff00; BACKGROUND-COLOR: #008000 }
    .menu { COLOR: #000080; BACKGROUND-COLOR: #d8d8d0 }
    .black { COLOR: #ffffff; BACKGROUND-COLOR: #000000 }

    绿

    8.动态样式表-层的显示和隐藏

    
    	
    • 家庭生活
    • 奇闻异事
    • 台海军情
    • 反复倡廉
    家庭生活家庭生活家庭生活
    家庭生活家庭生活
    奇闻异事奇闻异事奇闻异事
    奇闻闻异事奇闻异事
    台海军情台海军情台海军情
    台海海军情台海军情
    反复倡廉反复倡廉反复倡廉
    反复复倡廉反复倡廉
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
  • 相关阅读:
    Java 流处理之收集器
    动态内存管理(malloc free calloc realloc)
    城市燃气价格体系及计量、计费
    计算机毕业设计ssm基于ssm流浪宠物领养系统8xg84系统+程序+源码+lw+远程部署
    [N1CTF 2018]eating_cms
    DP讨论——适配器模式
    怒刷LeetCode的第17天(Java版)
    SDN功能实现(四)--- 实现自定义action(1)修改OVS源码<队列去重(内核态实现)>
    基于卷积神经网络VGG的猫狗识别
    00后表示真干不过,部门新来的00后测试员已把我卷崩溃,想离职了...
  • 原文地址:https://blog.csdn.net/qq_54525448/article/details/126187329