JavaScript后续

JavaScript后续

正则表达式

1.什么是正则?

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

2.正则的常用符号

1.位置符号

    ^		开头
	$		结尾
	例子:/^内容$/
	重点:在JS中不要忘了开头和结尾符号,否则会出现错误

2.次数符号

  *             0或多个
  +             1或多个
  ?	            0或1个
 {n}		    n个
 {n,}           至少n个
 {n,m}	        n-m的范围内
 例子:/^[1-9]*$/ 
     /^[1-9]+$/ 
     /^[1-9]?$/
     /^[1-9]{n}$/
     /^[1-9]{n,}$/ 
     /^[1-9]{n,m}$/ 

3.通配符

        \d		任意数字
		\D		任意非数字
		\s		任意空白
		\S		任意非空白
		\w		查找单词字符
		\W		查找非单词字符
		\b		匹配单词边界。
		\B		匹配非单词边界。
		.		任意字符(除'\n'外)

4.修饰符

        g      执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
	    i     (忽略大小写)执行对大小写不敏感的匹配 
	    m      执行多行匹配。

5.方括号(用于查询范围内的字符)

[abc]  查找方括号之间的任何字符。

[^abc]  查找任何不在方括号之间的字符。

[0-9]  查找任何从 0 至 9 的数字。

[a-z]  查找任何从小写 a 到小写 z 的字符。

[A-Z]  查找任何从大写 A 到大写 Z 的字符。

[A-z]  查找任何从大写 A 到小写 z 的字符。

[adgk]  查找给定集合内的任何字符。

[^adgk]  查找给定集合外的任何字符。

(red|blue|green)  查找任何指定的选项。
3.正则的创建方式
        
	1.	var regex = new RegExp("正则表达式", "标志");
		
	2.	var regex = /正则表达式/标志
	
	个人建议:第二种更加直观,学习起来更加容易
4.正则的方法

1.test() 检索字符串中指定的值。返回 true 或 false。

<script type="text/javascript">
var str = "Best Lee";
var x1 = new RegExp("Lee");
var result = x1.test(str);
document.write("Result: " + result);
</script>

2.exec() 检索字符串中指定的值。返回找到的值,并确定其位置。

var str  ="wo shi yi ge hao ren"; 

var myRegx=/\b[a-z]{3}\b/g;

var s=myRegx.exec(str); 

3.compile() 编译正则表达式。(用的较少)

4.JS常用正则表达式

1.手机号

/^1((3[\d])|(4[5,6,9])|(5[0-3,5-9])|(6[5-7])|(7[0-8])|(8[1-3,5-8])|(9[1,8,9]))\d{8}$/

2.日期

/^\d{4}(-)\d{1,2}\1\d{1,2}$/

3.email地址

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

4.身份证号(15或18位)

/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

5.中国邮政编码

/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/

BOM(Browser Object Model 浏览器对象模型)

BOM的概念和特点

1.概念:将浏览器的各个组成部分封装为对象

2.特点:BOM对象不能自己创建,当文档加载进内存,浏览器自动创建

BOM的组成
  • Window:窗口对象
Window方法

1.alert()

window.alert("一个警告框");
alert() 显示带有一段消息和一个确认按钮的警告框。

2.confirm()

window.confirm("此网站不安全,确定要进入吗?");
confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。

建议:当网站不安全时或担心用户点错时可以使用此方法

3.setInterval()

<script type="text/javascript">
    	var i=0;
			var add=function(){
				i=i+1;
				console.log(i);}
            var timeID=window.setInterval(add,1000);
		</script>
  setInterval()  按照指定的周期(以毫秒计)来调用函数或计算表达式。 循环执行

4.clearInterval()

window.clearInterval(timeID);//取消3的 setInterval()设置的时间
  clearInterval()  取消由 setInterval() 设置的 timeout

5.setTimeout()

1.var id=window.setTimeout("window.close()",3000);
2.var id2=window.setTimeout(wdcl(),3000);
						funtion wdcl(){
							window.close();
						}
	setTimeout() 在指定的毫秒数后调用函数或计算表达式。 只执行一次			
	参数1:字符串(js语句)或者 函数对象
    参数2:毫秒值。

6.clearTimeout()

window.clearTimeout(定时器的id);
clearTimeout() 取消由 setTimeout() 方法设置的 timeout。

7.open()

window.open("http://www.baidu.com");
open() 打开新窗口

8.close()

window.close();
close() 关闭窗口
  • Location:地址栏对象

1.获取方式

window.location

2.属性

href:设置或获取当前的URL

  • History:历史纪录对象

1.获取方式

window.history;

2.方法

go()

window.history.go(传参数)
1:前进
-1:后退
  • Navigator:浏览器对象 (使用较少)
  • Screen:显示器屏幕 (使用较少)

DOM(Document Object Model 文档对象模型)

1.DOM的概念

1.将标记语言文档的各个组成部分 封装为对象

2.DOM的组成
  • Document:文档对象

1.获取

//document 中 body属性 可以获取body标签对象
document.body.bgColor = "red";
title 属性获取文档标题
//document.title;
//获取文档最后一次修改时间
document.lastModified;
//URL 属性 获取地址栏中的地址
document.URL;

2.方法

获取Element对象
getElementById():通过id属性值获取唯一的元素
getElementsByTagName():通过标签名称获取元素对象数组
getElementsByName():通过name属性值获取元素对象数组
getElementsByClassName():通过class属性值获取元素对象数组
创建其他对象
createElement:创建元素对象
createAttribute:创建属性对象
createComment:创建注释对象
createTextNode:创建文本对象

1.remove()

bd.remove(); //删除自己
bd.removeChild(div);//删除子元素

innerHTML属性:获取或设置 元素的 子内容
innerTEXT属性:获取标签之间的文本内容

区别:innerHTML可以获取标签加文本,innerText只能获取文本

  • Element:元素对象

  • Attribute:属性对象

  • Text:文本对象

  • Comment:注释对象

  • Node:节点对象

3.事件

1.事件的概念

事件:一件事
事件源:事件发生的组件。
监听器:一个对象。当事件源上发生了事件,就执行对象中的某些方法
注册监听:将监听器绑定到事件源上,监听事件的发生

JavaScript中注册监听的方式:

1.在定义标签时,添加 事件名称属性。属性值是js代码

js代码会被自动封装到一个function函数的方法体中

<div id="div_id" onclick="fun();">第一种方式</div>

2.通过js获取元素对象,再添加事件。

1.获取元素对象
var input = document.getElementById("username");
2.注册监听
input.onclick = function(){ }

js中事件的种类:

			  焦点事件:针对表单
                  onfocus 元素获得焦点。 
                  onblur  元素失去焦点
			
			* 点击事件:
				* onclick 当用户点击某个对象时调用的事件句柄。 
				* ondblclick 当用户双击某个对象时调用的事件句柄。 
				
			* 键盘事件:
				* onkeydown 某个键盘按键被按下。
				* onkeyup 某个键盘按键被松开。 
				* onkeypress 某个键盘按键被按下并松开。 
			* 鼠标事件:
				* onmousedown 鼠标按钮被按下。 
				* onmouseup 鼠标按键被松开。 
				* onmouseover 鼠标移到某元素之上。 
				* onmouseout 鼠标从某元素移开。 
				* onmousemove 鼠标被移动。 	
			* 表单事件:
				* onsubmit 确认按钮被点击。 
				* onreset 重置按钮被点击。 
				*oninput 事件 当你往表单中输入内容时就触发 	
			* 加载与卸载事件
				* onload 一张页面或一幅图像完成加载。 
				* onunload 用户退出页面。 其他浏览器不支持 IE支持
			* 其他事件:
				针对表单
				* onchange 域的内容被改变。 比如下拉框
				* onselect 文本被选中。

JS事件对象 event

1.属性

currentTarget: 获取的是绑定了该事件的元素对象
target : 获取的是触发了该事件的元素对象
type: 获取事件类型
keyCode 当绑定了键盘事件,可以从事件对象中获取按键的键码(ASCII码)

which/button 当绑定了鼠标事件,可以从事件对象中获取鼠标按键的键码 0 左键 1滚轮 2右键

2.方法

 e.stopPropagation() 阻止事件冒泡;
 e.preventDefault(); 阻止元素的默认行为
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值