自学JavaScript的回顾(2/2)

正则表达式

什么是正则表达式?
正则表达式:Regular Expression
是用来匹配字符串的格式的
常见的正则表达式符号有哪些:
1、.:匹配除换行符之外的字符
2、\:转义字符,将一些正则表达式的符号转义为正常的符号
3、[]:代表范围之间的字符集
4、\d:代表数字字符 \D:不是数字的字符
5、\s:代表空白符 \S:不是空白符
6、\w:代表字母数字下划线汉字等字符 \W:不代表字母数字下划线等字符
7、*:匹配前一个字符零次或者无限次
8、+:匹配前一个字符一次或者无限次
9、?:匹配前一个字符零次或者一次
10、{m}:匹配前一个字符m次
11、{m,n}:匹配前一个字符m到n次
12、{m,}:匹配前一个字符m次或者无限次
13、^:匹配字符串的开始
14、$:匹配字符串的结束
例如邮箱的正则表达式:

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

有两种创建正则表达式的方法:
(1)var i=/正则表达式/flags;
(2)var i=new RegExp(“正则表达式”,“flags”);

flags参数是可选参数:
常见的flags参数有哪些:
(1)g:全文查找
(2)i:忽略大小写
(3)m:多行查找

如何验证正则表达式的正确与否?
test()函数返回布尔类型来验证正则表达式的正确。

扩展:对字符串去空白的方法:trim()

<html>
	<head>
		<title>exp</title>
	</head>
	<body>
		<script type="text/javascript">
			window.onload=function(){
				document.getElementById("button").onclick=function(){
					var i=document.getElementById("text").value.trim();
					var exp=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
					var success=exp.test(i);
					alert(success);
				}
			}
		</script>
		<input type="text" id="text"></input>
		<input type="button" id="button" value="判断邮箱是否格式正确"></input>
	</body>
</html>

DOM

JavaScript中分为三大组成部分:ECMAScript、DOM、BOM
其中ECMAScript包含了语言的基本语法(var、for、if、array等)和数据类型。
DOM是操作浏览器页面中的节点。
BOM是操作浏览器上的功能,例如前后访问、url地址等

DOM重要的两个方法:innerText、innerHTML
innerText和innerHTML是对获取的元素进行添加元素,区别是innerText中的参数是纯文本,innerHTML中的参数的纯文本是可以参与html语句的编译的。

<html>
	<head>
		<title>inner</title>
		<style type="text/css">
			#div{
			background-color:red;
			width:300px;
			height:300px;
			border:1px black solid;
			position:absolute;
			top:100px;
			left:100px;
			}
		</style>
	</head>
	<body>
		<script type="text/javascript">
			window.onload=function(){
				var but1=document.getElementById("button1");
				but1.onclick=function(){
					var div=document.getElementById("div");
					var text=document.getElementById("text").value;
					div.innerText=text;
				}
				var but2=document.getElementById("button2");
				but2.onclick=function(){
					var div=document.getElementById("div");
					div.innerHTML="<input type=\"button\" value=\"按钮\"></input>";
				}
			}
		</script>
		<input type="button" id="button1" value="添加文本"></input>
		<input type="text" id="text"></input>
		<br>
		<input type="button" id="button2" value="添加按钮"></input>
		<div id="div"></div>
	</body>
</html>

复选框的全选

<html>
	<head>
		<title>复选框</title>
	</head>
	<body>
		<script>
		window.onload=function(){
			var checkbox=document.getElementById("all");
			checkbox.onclick=function(){
				var checkboxson=document.getElementsByName("checkbox1");
				for(var i=0;i<checkboxson.length;i++){
					checkboxson[i].checked=checkbox.checked;
				}
			}
			var checkboxson=document.getElementsByName("checkbox1");
			for(var i=0;i<checkboxson.length;i++){
				checkboxson[i].onclick=function(){
					var count=0;
					for(var i=0;i<checkboxson.length;i++){
						if(checkboxson[i].checked){
						count++;
					}
					checkbox.checked=(checkboxson.length==count);
					}
				}
			}
		}
		</script>
		<input type="checkbox" id="all"></input>
		<br>
		<input type="checkbox" name="checkbox1">1</input>
		<br>
		<input type="checkbox" name="checkbox1">2</input>
		<br>
		<input type="checkbox" name="checkbox1">3</input>
	</body>
</html>

时间获取

<html>
	<head>
		<title>time</title>
	</head>
	<body>
		<script type="text/javascript">
			var newtime=new Date();
			var year=newtime.getFullYear();
			var month=newtime.getMonth();
			var day=newtime.getDay();
			var time=newtime.toLocaleString();
			document.write(year+'年'+month+'月'+day+'日');
			document.write("<br>");
			document.write(time);
			var mm=newtime.getTime();
			document.write("<br>");
			document.write(mm+'毫秒');
			document.write("<br>");
			function displayTime(){
				var newtime=new Date();
				var time=newtime.toLocaleString();
				document.getElementById("div").innerHTML=time;
			}
			function start(){
				window.setInterval("displayTime()",1000);
			}
			start();
		</script>
		<div id="div"></div>
	<body>
</html>

数组

java中数组是{},javascript中数组是[],{}是json。

<html>
	<head>
		<title>array</title>
	</head>
	<body>
		<script type="text/javascript">
		var a=[12,23];
		var str=a.join("_");//以字符为分隔符打印数组中的全部元素
		document.write(str);//12_23
		a.push(2334);//压栈
		document.write("<br>");
		var str2=a.join("_");
		document.write(str2);//12_23_2334
		a.pop();//弹栈
		document.write("<br>");
		var str3=a.join("_");
		document.write(str3);//12_23
		a.reverse();//反转
		var str4=a.join("_");
		document.write(str4);//23_12
		</script>
	<body>
</html>

BOM

BOM有几个常用的操作:
1、页面的前进与返回:

<html>
	<head>
		<title>1</title>
	</head>
	<body>
		<script type="text/javascript">
		</script>
		<input type="button" onclick=window.open("返回.html","_self"); value="打开返回界面"></input>
		<input type="button" onclick=window.close(); value="关闭当前窗口"></input>
		<input type="button" onclick=window.history.go(1); value="前进"></input>
	<body>
</html>
<html>
	<head>
		<title>2</title>
	</head>
	<body>
		<script type="text/javascript">
		</script>
		<input type="button" onclick=window.history.back(); value="返回上一界面"></input>
	<body>
</html>

2、弹出确认框:

<html>
	<head>
		<title>confirm</title>
	</head>
	<body>
		<script type="text/javascript">
		function queren(){
			var ok=window.confirm("确认么");
			if(ok){
				alert("你已确认");
			}else{
				alert("取消");
			}
		}
		</script>
		<input type="button" onclick=queren(); value="弹出确认框"></input>
	<body>
</html>

JSON

什么是JSON?
一种系统之间交换数据,类似于数据库,它易解析,编写方便。
其中有个重要的方法:eval()函数,它能将其他语言传过来的字符串当做JS代码执行并解析,常用来接受数据。
JSON语法:

var json={
	key1:value1;
	key2:value2;
	.....
}

如何将传过来JSON数据打印在html上?

<html>
	<head>
		<title>json</title>
	</head>
	<body>
	<!--eval函数是将字符串当做一段JS代码执行,将java发过来的字符串用JS解析-->
		<script type="text/javascript">
		var student={
			"base":[{"no":1,"name":"zhangjin"}
					,{"no":2,"name":"zhangsi"}
					,{"no":3,"name":"zhangwu"}
			]
		};
		window.onload=function(){
			var button=document.getElementById("button");
			button.onclick=function(){
			var base=student.base;
			var str="<table border=\"1px\" width=\"50%\"><tr><th>学号</th><th>姓名</th></tr><tbody id=\"empty\"></tobody></table>";
			var str2="";
			document.getElementById("div").innerHTML=str;
			for(var i=0;i<base.length;i++){
				str2+=("<tr>"+"<td>"+base[i].no+"</td>"+"<td>"+base[i].name+"</td>"+"</tr>");
				}
			document.getElementById("empty").innerHTML=str2;
			}
		}
		</script>
		<input type="button" value="打印数据" id="button"></input>
		<div id="div">
		</div>
	<body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值