版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
博学谷——让IT教学更简单,让IT学习更有效《JavaScript+jQueryWeb前端开发技术(微课版)》教学设计课程名称:授课班级:授课学期:教师姓名:年月
课题名称学习单元7JavaScript对象计划课时8课时教学引入网络信息人人共享,网络安全人人有责。为维护网络安全,用户在网页设计过程中应注重安全防护的设计。利用JavaScript面向对象基本编程为网站的登录页面添加验证码验证,进一步加强注册页面的表单验证,强化Web前端的安全设计。JavaScript对象编程主要包括对象的定义与调用,String对象、Math对象、日期对象、字符串对象等常用内置对象的使用,以及正则表达式的应用。教学目标1.知识目标(1)掌握对象的基本概念;(2)掌握自定义对象的定义与使用;(3)掌握常用内置对象的使用。2.技能目标(1)能够根据实际需求定义对象,并利用自定义对象解决实际问题;(2)根据实际情况选择并应用内置对象,简化程序设计步骤,提升程序设计效率;(3)通过正则表达式对象的应用加强程序安全性设计。3.情感目标(1)培养自主学习能力素养;(2)通过对任务的技术实现不断升级改进,培养学生精益求精的工匠精神。教学重点自定义对象的定义与使用常用内置对象的使用教学难点自定义对象的定义与使用正则表达式对象的应用教学过程任务7.1登录页面动态生成验证码——对象基本应用(4课时)一、任务描述为防止一些恶意破解密码、刷票、论坛灌水、恶意注册等行为,很多网站采用验证码的方式进行有效阻止。本任务就是为登录页面添加一个动态生成的验证码,以便增强登录页面的安全性,同时将登录页面相关信息传递到登录成功链接页。二、任务分析页面一开始运行时,系统自动产生一组验证码并在验证码区域显示,当单击验证码区域时,系统自动更新一组验证码。验证码是由系统随机产生的4位数字、字母组合而成,用户单击【登录】按钮时,需要验证用户输入的用户名和密码是否为空、输入的验证码和随机产生的验证码是否一致,若验证通过将输入的用户名传递给登录成功页面,若验证失败弹出验证失败对话框。随机数的产生用户可以借助JavaScript内置Math对象的相关函数实现,然后利用String对象相关函数实现对随机字符的连接。关于页面跳转时的参数传递,可以利用Location对象的href属性实现。在传递过程中利用encodeURI和decodeURI函数的对参数进行转码和解码,解决传递过程中若参数值为中文,传递过去后显示乱码的问题。三、知识点讲解1、初识对象在JavaScript中,对象是一种数据类型,它是由属性和方法组成的一个集合。属性是指事物的特征,方法是指事物的行为。例如,用户进行登录时用户就是一个对象,该对象拥有用户名、密码、电话号码等属性特征,同时拥有注册、登录等操作方法。在程序设计时,为方便程序开发,JavaScript提供了很多常用的功能强大的内置对象,如前面案例中用到的日期对象Date、字符串对象String等。根据需要,用户还可以自定义对象,对象的属性可以定义为变量,对象的方法定义为函数,调用时分别用“对象名.属性名”或“对象名.方法名()”方式调用。2、自定义对象(1)对象的定义JavaScript中对象定义常用有三种方式:利用字面量创建对象、利用内置构造函数创建对象和利用自定义构造函数创建对象。①利用字面量创建对象在JavaScript中,对象的字面量定义是通过“{}”语法实现的,对象的成员以键值“key:value”的形式存放在{}中,key表示属性名或者方法名,value表示对应的值,多个对象成员之间使用逗号分隔。这种创建方式的优点就是简单、直观、易懂。②利用内置构造函数创建对象JavaScript提供了Object、String、Number等构造函数,可通过“new构造函数名()”方式创建对象。人们习惯将使用new关键字创建对象的过程称为实例化,实例化后得到的对象称为构造函数的实例。③利用自定义构造函数创建对象除了直接使用内置函数,根据需要,用户也可以通过自定义构造函数方式创建对象。(2)遍历对象的属性和方法使用for...in语法不仅可以遍历数组元素,还可以遍历对象的属性和方法.3、内置对象为了方便程序开发,JavaScript提供了很多实用的内置对象,包括数学对象Math、日期对象Date、数组对象Array以及字符串对象String等。在教材前面的案例中,利用日期对象Date和数组对象Array设置时间的显示,这些内置对象提供的丰富的方法给程序开发带来极大的便利。(1)String对象字符串是JavaScript中的非常常用的一种数据类型,是利用一对单引号或者双引号创建的字符型数据。字符串对象提供了一些用于对字符串进行处理的属性和方法,可以方便的实现字符串的查找、截取、替换、大小写转换等操作,具体如表1所示。分类名称作用属性length返回字符串的长度方法charAt(index)返回index位置的字符,位置从0开始计算str[index]返回指定位置处的字符串(HTML5新增)indexOf(searchValue)返回searchValue在字符串中首次出现的位置lastIndexOf(searchValue)返回searchValue在字符串中最后出现的位置substring(start[,end])截取从start位置到end位置之间的一个子字符串substr(start[,length])截取从start位置开始到length长度的子字符串toLowerCase()返回字符串的小写形式toUpperCase()返回字符串的大写形式split([separator[,limit])使用separator分隔符将字符串分隔成数组,limit用于限制数量replace(str1,str2)使用str2替换字符串str1,返回替换结果(2)Math对象Math对象提供了许多与数学相关的功能,它是JavaScript的一个全局对象,不需要创建,直接作为对象使用就可以调用其属性和方法,其常用的属性和方法如表2所示。分类名称作用属性PI返回圆周率,结果为3.141592653589793方法abs(x)返回x的绝对值,可以传入普通数值或是用字符串表示的数值max(value1[,value2,...])返回所有参数中的最大值min(value1[,value2,...])返回所有参数中的最小值pow(base,exponent)返回基数(base)的指数(exponent)次幂,即baseexponentsqrt(x)返回x的平方根ceil(x)返回大于或等于x的最小整数,即向上取整floor(x)返回小于或等于x的最大整数,即向下取整round(x)返回x的四舍五入后的整数值random()返回大于或等于0.0且小于1.0的随机值(3)日期对象JavaScript中的日期对象用来处理日期和时间,例如在线日历、时间、计时器等都是日期对象的应用,其常用的方法如表3所示。方法名称作用getFullYear()返回表示年份的四位数字,如2025。getMonth()返回月份,范围为0~11,0表示一月,1表示二月,依次类推。getDate()返回月中的某一天,范围从1~31。getDay()返回星期,范围0~6,0表示星期日,1表示星期一,依次类推。getHours()返回小时数,范围0~23。getMinutes()返回分钟数,范围0~59。getSeconds()返回秒数,范围0~59。getMilliseconds()返回毫秒数,范围0~999。getTime()返回从1970-01-0100:00:00距离Date对象所代表时间的毫秒数。setFullYear()设置年份setMonth()设置月份。setDate()设置月份中的某一天。setHours()设置小时数。setMinutes()设置分钟数。setMilliseconds()设置毫秒数。setTime() 通过从1970-01-0100:00:00计时的毫秒数来设置时间。四、任务实施1、优化验证码元素定义打开上一学习单元任务完成后的资源网页login.html,修改验证码元素的定义。由于本任务的验证码值是通过JavaScript代码动态产生的,因此将上一任务中固定的验证码“5799”删除掉即可。2、新增验证码产生函数修改logincheck.js文件,在文件的表单验证函数check()函数前面添加自动产生验证码函数getRandCode(),并将验证码写入前台网页指定区域。其中验证码规则是由任意4位数字、字母组成。3、调用验证码产生函数当登录页面一加载时,系统自动调用验证码产生函数生成一组验证码并显示在页面上;当鼠标单击页面上的验证码时,系统会自动更新一组验证码,因此验证码产生函数需要在两种情景下调用。4、修改表单提交事件修改用户输入信息验证通过后的响应事件,把用户名提取出来,作为参数传递到登录成功页面,为支持中文参数的传递,利用encodeURI函数对要传递的参数进行编码。5、定义用户登录成功响应页面新建loginSuccess.html文件,设计登录成功后跳转页面的显示效果。为文件添加JavaScript代码,将登录页面传递过来的参数进行解码、分割以及截取,以便获取所需的参数信息,并将参数信息显示在页面上。6、网页运行测试保存并运行网页。五、课堂实践通过测试题的方式检测学生知识学习,通过任务实践掌握对象基本应用。任务7.2强化注册页面验证功能——正则表达式的应用(4课时)一、复习巩固教师通过任务7.1的完成情况和测试题的测试结果进行分析,对学生掌握薄弱的知识点和技能点进行复习巩固。二、任务描述在前面完成的注册页面案例中,表单验证中应用了值的非空验证,但在实际应用中,由于不同表单元素收集的信息所代表含义不同,因此校验规则也不尽相同,比如电话号码和电子邮箱,在实际应用中本身就具有特定的组成规则。为了使注册页面收集信息更加规范,本任务将进一步对用户名、密码、电子邮件、电话号码等不同功能表单进行不同规则的验证。三、任务分析用户名和密码由8到20位任意字母(包括大小写)、数字和下划线组成,电子邮件要符合电子邮件格式,手机号码也要符合手机号码的组成规则,这些都可以通过正则表达式验证来实现。四、知识点讲解1、正则表达式概念正则表达式(RegularExpression,简称RegExp)是一种描述字符串结构的语法规则,是一个特定的格式化模式,用于验证各种字符串是否匹配这个特征。正则表达式本身也是对象。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。例如,项目开发中,限定用户名只能是字母、数字或下划线,手机号码指定数位的数字的隐藏,敏感词的过滤以及表单的验证等功能2、定义正则表达式JavaScript中在使用正则表达式之前,需要创建正则表达式对象。创建正则表达式的方式有两种,一种是用字面量方式,一种是通过RegExp()构造函数的方式创建。(1)使用字面量方式创建字面量方式创建的基本语法格式如下:var变量名=/表达式/[修饰符];。(2)通过RegExp()构造函数的方式创建通过RegExp()构造函数的方式创建的语法格式如下:varreg=newRegExp("表达式"[,"修饰符"])3、使用正则表达式在开发中,经常需要根据正则表达式模式完成对指定字符串的搜索和匹配。此时,既可以使用JavaScript中的RegExp对象提供的正则表达式方法又可以使用String对象提供的正则表达式方法,常用的方法如表所示。对象名方法名作用RegExp对象test()检索字符串中指定的值,返回true或falseexec()检索字符串中指定的值。返回找到的值,并确定其位置。String对象match()找到一个或多个正则表达式的匹配search()检索与正则表达式相匹配的值replace()替换与正则表达式匹配的字符串split()把字符串分割为字符串数组4、正则表达式中的特殊字符一个正则表达式可以由简单的字符构成,如前面示例中的“/late/”,也可以是简单的和特殊字符的组合,如“/l*t/”。其中,特殊字符也被称为元字符,在正则表达式中是具有特殊意义的专用符号,如“*”。正则表达式中常用的特殊字符主要分以下几类。(1)边界符正则表达式中的边界符用来提示字符所处的位置,如下表所示。边界符作用^表示匹配行首的文本$表示匹配行尾的文本(2)字符类别JavaScript中给出的字符类别可以很容易地完成某些正则匹配。有效地使用字符类别可以使正则表达式更加简洁,便于阅读,常用的字符类别如下表所示。字符描述.匹配除换行符(\n、\r)之外的任何单个字符。\d匹配一个数字字符,等价于[0-9]。\D匹配一个非数字字符,等价于[^0-9]。\w匹配字母、数字或下划线,等价于[A-Za-z0-9_]。\W匹配非字母、数字或下划线,等价于[^A-Za-z0-9_]。\s匹配任何空白字符,包括空格、制表符、换页符等等,等价于[\f\n\r\t\v]。\S匹配任何非空白字符,等价于[^\f\n\r\t\v]。\b匹配一个单词边界,也就是指单词和空格间的位置。例如,'er\b'可以匹配"never"中的'er',但不能匹配"verb"中的'er'。\B匹配非单词边界。'er\B'能匹配"verb"中的'er',但不能匹配"never"中的'er'。\f匹配一个换页符。\t匹配一个制表符。\v匹配一个垂直制表符。\r匹配一个回车符。\n匹配一个换行符。\xhh匹配ISO-8859-1值为hh(2个十六进制数字)的字符,例如,'\x41'表示"A"。\uhhhh匹配Unicode值为hhhh(4个十六进制数字)的字符,例如,'\u597d'表示"好"。(3)字符集合正则表达式中的“[]”可以实现一个字符集合,与连字符“-”一起使用时,表示匹配指定范围内的字符,并且元字符“^”与“[]”一起使用时,表示匹配不在指定字符范围内的字符,常用字符集合如下表所示。字符作用[xyz]字符集合。匹配所包含的任意一个字符。例如,'[abc]'可以匹配"plain"中的'a'。[^xyz]负值字符集合。匹配未包含的任意字符。例如,'[^abc]'可以匹配"plain"中的'p'、'l'、'i'、'n'。[a-z]字符范围。匹配指定范围内的任意字符。例如,'[a-z]'可以匹配'a'到'z'范围内的任意小写字母字符。[^a-z]负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]'可以匹配任何不在'a'到'z'范围内的任意字符。(4)限定符项目开发中,若需要匹配一个连续出现的字符,比如4个连续出现的数字“0311”时,通过前面的学习,可以创建如下所:varreg=/\d\d\d\d/gi;(5)括号字符小括号“()”字符在正则表达式中主要有两个作用,一是改变限定符的作用范围,二是分组。(6)贪婪与惰性匹配当点字符(.)和限定符连用时,可以实现匹配指定数量范围的任意字符。例如,/a.*c/可以匹配从a开始到c结束,中间包含零个或多个任意字符的字符串。正则表达式在实现指定数量范围的任意字符匹配时,支持贪婪匹配和惰性匹配两种方式。所谓贪婪表示匹配尽可能多的字符,而惰性表示匹配尽可能少的字符。在默认情况下,是贪婪匹配,若要实现惰性匹配,需要在上一个限定符的后面加上“?”符号.(7)正则运算符优先级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025~2026学年浙江省嘉兴市高二下学期期末检测生物试卷
- 2025~2026学年江苏省如东县马塘中学高二下学期期末考试生物试卷
- 2026 江苏 退役军人岗事业单位易错点巩固训练卷
- 2026年山东省职业院校技能大赛-高职组(婴幼儿健康养育照护赛项)考试题库(带答案)
- (2026年)幼儿园健康检查计划
- 期中综合素养卷(三)-2026-2027学年六年级语文上册(部编版)
- (2026年)护理质控年度工作计划
- 2026年ICU 重症哮喘呼吸机护理试卷及答案
- 2026年ICU 限制探视护理伦理辨析试卷及答案
- 2026年ICU 护理 PDCA 应用考核试卷及答案
- GB/T 12729.1-2026香辛料和调味品名称
- 2026广东深圳市交易集团限公司选聘28人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年焊工技术比赛模拟试题(含答案)
- 第5课 生命最宝贵 课件(内嵌视频)2026-2027学年道德与法治四年级上册统编版
- 铁矿选矿技术概述培训课件
- 2026中国医生AI行为与态度调研报告抢先版
- 2026报关员面试题目及答案
- 小学一年级同音字大全(带拼音+组词+字义区分课本高频)
- 重庆航天科工集团笔试题
- 中国慢性肾脏病诊疗指南2025版
- 校园食品安全知识竞赛题库(附答案)
评论
0/150
提交评论