JS DOM编程

获取文本框

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>DOM编程-获取文本框的value</title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				1、JavaScript包括三大块:
					ECMAScript:JS核心语法(ES规范/ ECMA-262标准)
					DOM:document object model(文档对象模型:对网页当中的节点进行增删改的过程。)HTML文档被当做一颗DOM树来看待。
						var domObj = document.getElementById("id");
					BOM: browser object model(浏览器对象模型)
						关闭浏览器窗口。打开一个新的浏览器窗口,后退,前进,浏览器地址栏上的地址等,都是DOM编程。
				2、BOM和DOM的区别和联系?
					BOM的顶级对象是:window
					DOM的顶级对象是:document
					实际上BOM是包括DOM的
			*/
		   
		   // window.onload = function(){
			  //  var btnElt = document.getElementById("btn");
			  //  alert(btnElt);
		   // }
		   
		   window.onload = function(){
			   var btnElt = document.getElementById("btn");
			   btnElt.onclick = function(){
				   /*
				   // 获取到username的节点
				   var usernameElt = document.getElementById("username");
				   alert(usernameElt.value);
				   */
				  // alert(document.getElementById("username").value);
				  
				  //可以修改他的value
				  document.getElementById("username").value = "张三"
				  
			   }
		   }
		</script>
		
		<!-- <input type="button" id="btn" value="hello" /> -->
		
		<input type="text" id="username" />
		<input type="button" value="获取文本框的value" id="btn" />
		
		<hr>
		
		<script type="text/javascript">
			window.onload = function(){
				document.getElementById("setBtn").onclick = function(){
					//获取第一个框的value
					var username1Elt = document.getElementById("username1");
					//赋值
					document.getElementById("username2").value = username1Elt.value;
				}
				
			}
			
			
		</script>
		
		<br>
		<input type="text" id="username1" />
		<br>
		<input type="text" id="username2" />
		<br>
		<input type="button" value="将第一个文本框的value赋值到第二个文本框中" id="setBtn" />
		
		<br>
		
		<!-- blur事件:失去焦点事件 -->
		<!-- 一下代码中的this代表的是当前input节点对象,this.value就是这个节点对象的value属性。 -->
		<input type="text" onblur="alert(this.value)" />
		
	</body>
</html>

DOM编程-innerHTML和innerText操作div和span

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>DOM编程-innerHTML和innerText操作div和span</title>
		<style type="text/css">
			#div1{
				background-color: aqua;
				width: 300px;
				height: 300px;
				border: 0.0625rem black solid;
				position: absolute;
				top: 6.25rem;
				left: 6.25rem;
			}
		</style>
	</head>
	<body>
		<!-- 
			innerText和innerHTML属性有什么区别?
			相同点:都是设置元素内部的内容
			不同点:
				innerHTML会把后面的“字符串”当做一段HTML代码来解释并执行。
				innerText,即使后面是一段HTML代码,也只是将其当做普通的字符串来看待。
		 -->
		<script type="text/javascript">
			window.onload = function(){
				document.getElementById("btn").onclick = function(){
					//设置div内容
					//第一步:获取div对象
					var divElt = document.getElementById("div1");
					//第二步:使用innerHTML属性来设置元素内部的内容
					//divElt.innerHTML="123132131";
					//divElt.innerHTML = "<font color='red' >用户名不能为空!</font>"
					divElt.innerText = "<font color='red' >用户名不能为空!</font>";
					
				}
			}
		</script>
		
		<input type="button" value="设置div的内容" id="btn" />
		
		<div id="div1"></div>
	</body>
</html>

DOM编程-关于正则表达式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>DOM编程-关于正则表达式</title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				1.什么是正则表达式,有什么用?
					正则表达式:Regular Expression
					正则表达式主要用在字符串格式匹配方面。
				
				2.正则表达式实际上是一门独立的学科,在java语言中支持,c语言中支持,javascript中也支持。
				大部分编程语言都支持正则表达式。正则表达式最初用在医学方面,用来表示神经符号等。目前使用最多
				的是计算机编程领域,用做字符串格式匹配。包括搜索方面等。
				
				3.正则表达式,对于我们javascript编程来说,掌握哪些内容呢?
					第一:常见的正则表达式符号要认识。、
					第二:简单的正则表达式要会写。
					第三:他人编写的正则表达式要能看懂。
					第四:在javascript当中,怎么创建正则表达式对象!(new对象)
					第五:在javascript当中,正则表达式对象有哪些方法!(调方法)
					第六:要能够快速的从网络上找到自己需要的正则表达式、并且测试其有效性。
					
				4.常见的正则表达式符号?
					. 匹配除换行符以外的任意字符串
					\w 匹配字母或数字或下划线或汉字
					\s 匹配任意的空白符
					\d 匹配数字
					\b 匹配单词的开始或结束
					^ 匹配字符串的开始
					$ 匹配字符串的结束
					
					* 重复零次或更多次
					+ 重复一次或更多次
					? 重复零次或一次
					{n} 重复n次
					{n,} 重复n次或更多次
					{n,m} 重复n到m次
					
					\W 匹配任意不是字母或数字或下划线或汉字
					\S 匹配任意不是的空白符
					\D 匹配任非数字
					\B 匹配不是单词的开始或结束的位置
					[^x] 匹配除了x以外的任意字符
					[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
					
					正则表达式当中的小括号()优先级最高
					[1-9] 表示1到9的任意1个数字(次数是1次)
					[A-Za-z0-9] 表示A-Za-z0-9中的任意1个字符
					[A-Za-z0-9-] 表示A-Z、a-z、0-9、-,中的任意1个字符
					
				7、怎样创建正则表达式对象,怎么调用正则表达式的方法?
					第一种创建:
						var regExp = /正则表达式/flags;
					第二种创建:
						var regExp = new RegExp("正则表达式","flags");
						
					关于flags:
						g:全局匹配
						i:忽略大小写
						m:多行搜索(ES规范制定之后才支持)当前面的正则表达式的时候。m不能用,只有前面是普通字符串的时候m才可用
					正则表达式对象的test() 方法
						true / false = 正则表达式对象.test(用户填写)
			*/
		</script>
	</body>
</html>

去除字符串的前后空白trim

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>去除字符串的前后空白trim</title>
	</head>
	<body>
		<script type="text/javascript">
			//低版本的IE浏览器不支持字符串的trim()函数
			//可以对自己的String类扩展一个全新的trim()函数!
			String.prototype.trim = function(){
				//alert("这是扩展的trim方法");
				// return this.replace(/^\s+/,"").replace(/\s+$/,"");
				return this.replace(/^\s+|\s+$/g,"")
			}
			
			
			window.onload = function(){

				document.getElementById("btn").onclick = function(){
					//获取用户名
					var username = document.getElementById("username").value;
					
					//去除前后空白
					username = username.trim();
					// 测试
					alert("--->" + username + "<---");
					
				}
				
			}
		</script>
		<input type="text" id="username" />
		<input type="button" value="提交" id="btn" />
	</body>
</html>

表单验证

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单验证</title>
	</head>
	<body>
		<style type="text/css">
			span{
				color: red;
				font-size: 0.75rem;
			}
		</style>
		
		<script type="text/javascript">
			window.onload = function(){
				// 给用户名文本框绑定blur事件
				var usernameElt = document.getElementById("username");
				// 获取username的span标签
				var usernameErrorSpan = document.getElementById("usernameError");
				
				var pwdErrorSpan = document.getElementById("pwdError");
				
				// 绑定失去焦点
				usernameElt.onblur = function(){
					//获取用户名
					var username = usernameElt.value;
					//去除前后空白
					username = username.trim();
					//判断用户名是否为空
					// if(username.length == 0)
					// if(username === "")
					
					if(username){
						//代表username不是空字符串
						// 继续判断长度[6-14]
						if(username.length < 6 || username.length >14){
							//用户名不合法
							usernameErrorSpan.innerText = "用户名长度必须在[6-14]之间"
						}else{
							//继续判断用户名是否含有特殊符号
							var regExp = /^[A-Za-z0-9]+$/;
							var ok = regExp.test(username);
							if(ok){
								// 用户名合法
							}else{
								usernameErrorSpan.innerText = "用户名只能由数字和字母组成";
							}
						}
					}else{
						//代表username是空字符串
						usernameErrorSpan.innerText = "用户名不能为空!"
					}
					
				}
				
				//绑定获得焦点
				usernameElt.onfocus = function(){
					// 清空非法value
					if(usernameErrorSpan.innerText != ""){
						usernameElt.value = "";
					}
					// 清空span
					usernameErrorSpan.innerText = "";
				}
				
				// 获取确认密码框对象
				var userpwd2Elt = document.getElementById("userpwd2");
				// 绑定blur事件
				userpwd2Elt.onblur = function(){
					// 获取密码和确认密码
					var userpwdElt = document.getElementById("userpwd");
					var userpwd = userpwdElt.value;
					var userpwd2 = userpwd2Elt.value;
					if(userpwd != userpwd2){
						// 密码不一致
						
						pwdErrorSpan.innerText = "密码不一致!";
						
					}else{
						// 密码一致
						pwdErrorSpan.innerText = "";
					}
				}
				
				// 绑定focus事件
				userpwd2Elt.onfocus = function(){
					if(pwdErrorSpan.innerText != ""){
						userpwd2Elt.value = "";
					}
					pwdErrorSpan.innerText = "";
				}
				
				// 获取email的span事件
				var emailSpan = document.getElementById("emailError");
				// 给emal绑定blur事件
				var emailElt = document.getElementById("email");
				emailElt.onblur = function(){
					// 获取email
					var email = emailElt.value;
					// 编写正则
					var emailRegExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w([-.]\w+)*$/;
					var ok = emailRegExp.test(email);
					if (ok){
						//合法
					}else{
						//不合法
						emailSpan.innerText = "邮箱地址不合法!";
					}
					emailElt.onfocus = function(){	
					if(!ok){
						emailElt.value = "";
					}
						emailSpan.innerText = "";
					}	
				}
				
				//给提交按钮绑定鼠标单击事件
				var submitBtnElt = document.getElementById("submitBtn");
				submitBtn.onclick = function(){
					//代码触发 username userpwd2 email 的 blur 和 focus事件
					usernameElt.focus();
					usernameElt.blur();
					userpwd2Elt.focus();
					userpwd2Elt.blur();
					emailElt.focus();
					emailElt.blur();
					
					//当所有表单项都是合法的时候,提交
					if(usernameElt.innerText == "" && userpwd2Elt.innerText == "" && emailElt.innerText == "");
					var userFromElt = document.getElementById("userFrom");
					userFromElt.submit();
						
					}
				}
			}
		</script>
		
		<!-- 一般使用post,这里为了测试,所以使用get-->
		<form id="userFrom" action="http://localhost:8080/jd/save" method="get">
			用户名<input type="text" name="username" id="username" /><span id="usernameError"></span><br>
			密码<input type="text" name="userpwd" id="userpwd" /><br>
			确认密码<input type="text" id="userpwd2" /><span id="pwdError"></span><br>
			邮箱<input type="text" name="email" id="email" /><span id="emailError"></span><br>
			<input type="button" id="submitBtn" value="提交" />
			<input type="reset" id="" value="重置" />
		</form>
	</body>
</html>

复选框的全选和取消全选

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>复选框的全选和取消全选</title>
	</head>
	<body>
		<script type="text/javascript">
			// window.onload = function(){
			// 	var firstChk = document.getElementById("firstChk");
			// 	firstChk.onclick = function(){
			// 		// 获取第一复选框选中的状态(复选框对象checkbox对象)
			// 		var aihaos = document.getElementsByName("aihao");
			// 		if(firstChk.checked){
			// 			//全选
			// 			for (var i = 0; i < aihaos.length; i ++){
			// 				aihaos[i].checked = true;
			// 			}
			// 		}else{
			// 			//取消全选
			// 			for (var i = 0; i < aihaos.length; i ++){
			// 				aihaos[i].checked = false;
			// 			}
			// 		}
			// 	}
			// }
			window.onload = function(){
				// 获取第一复选框选中的状态(复选框对象checkbox对象)
				var aihaos = document.getElementsByName("aihao");
				var firstChk = document.getElementById("firstChk");
				firstChk.onclick = function(){
					for (var i = 0; i < aihaos.length; i ++){
						aihaos[i].checked = firstChk.checked;
					}
				}
				var all = aihaos.length;
				for (var i = 0; i < aihaos.length; i ++){
					aihaos[i].onclick = function(){
						var checkedCount = 0;
						for(var i = 0; i < aihaos.length; i ++){
							if(aihaos[i].checked){
								checkedCount ++;
							}
						}
						firstChk.checked = (all == checkedCount);
					}
				}
			}
		</script>
		
		<input type="checkbox" id="firstChk" /><br>
		<input type="checkbox" name="aihao" value="smoke"/> 抽烟<br>
		<input type="checkbox" name="aihao" value="drink" /> 喝水<br>
		<input type="checkbox" name="aihao" value="tt" /> 烫头
	</body>
</html>

获取下拉列表选项中的value

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>获取下拉列表选项中的value</title>
	</head>
	<body>
		<script type="text/javascript">
			window.onload = function(){
				var provinceListElt = document.getElementById("provionce");
				provinceListElt.onchange = function(){
					alert(provinceListElt.value);
				}
			}
		</script>
		<select id="provionce">
			<option value ="">--请选择省份--</option>
			<option value = "001">山西省</option>
			<option value = "002">山东省</option>
			<option value = "003">河南省</option>
			<option value = "004">河北省</option>
		</select>
	</body>
</html>

显示网页时钟

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>显示网页时钟</title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				关于js中内置的支持类:Data ,可以用来获取时间/日期
			*/
		   //获取系统当前时间
		   var nowTime = new Date();
		   
		   //输出
		   document.write(nowTime)
		   document.write("<br>")
		   // 换成具有本地语言环境的日期格式
		   nowTime = nowTime.toLocaleString();
		   document.write(nowTime);
		   document.write("<br>")
		   
		   //可以通过获取年月日等信息,自定义格式
		   var t = new Date();
		   var year = t.getFullYear();
		   var moth = t.getMonth();
		   // var dayOfWeek = t.getDay(); // 获取的一周的第几天(0-6)
		   var day = t.getDate();
		   document.write(year + "年" + moth + "月" + day + "日");
		   document.write("<br>")
		   
		   //如何获取毫秒数
		   var times = t.getTime();
		   document.write(times); //一般会使用毫秒数当时间戳
		   document.write("<br>")
		   document.write("<br>")
		   
		</script>
		
		<script type="text/javascript">
			
			function displayTime(){
				var time = new Date();
				var strTime = time.toLocaleString();
				document.getElementById("timeDiv").innerHTML = strTime;
			}
			
			function start(){
				// 从这行代码执行结束开始,则会不间断的,每隔1000毫秒调用一次
				v = window.setInterval("displayTime()",1000);
			}
			
			function stop(){
				window.clearInterval(v)
			}
			
		</script>
		
		<input type="button" value="显示系统时间" onclick="start()" />
		<input type="button" value="停止系统时间" onclick="stop()"/>
		<div id="timeDiv"></div>
	</body>
</html>

内置支持类型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>内置支持类型</title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				数组类型随意
				数组自动模拟栈数据结构,先进后出
				下标越界的时候会自动扩容
			*/
		   //创建的俩种方式
		   var arr = []
		   
		   var arr2 = new Array();
			
		</script>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值