正则表达式和表单辅助特效.ppt
正则表达式和表单辅助特效,第七章,回顾与作业点评,如何验证电子邮箱地址中有字符?indexOf=-1如何验证电子邮箱地址中有字符“.”,并且该字符不在最后一位?对文本框中的内容进行验证时,当鼠标离开文本框中时,如果内容不符合要求,使用什么事件可以即时提示错误信息,onblur,预习检查,正则表达式有几种构造方式,分别是什么?普通方式 var reg=/表达式/附加参数 简单模式(字符串)复合模式(字母加数字)RegExp对象使用什么方法匹配正则表达式?exec检索字符中是正则表达式的区配,返回找到的值,并确定其位置Test 检索字符串中指定的值,返回true或false如何创建数组并为数组赋值,使用数组的什么属性可以获取数组中的元素个数?var cityList=new Array();length,本章任务,制作严谨的电子邮箱验证页面制作省市级联效果,本章目标,使用innerHTML动态改变DIV的内容使用正则表达式验证页面输入的内容使用数组实现级联的下拉列表框效果,正则表达式,为什么需要正则表达式简洁的代码严谨的验证文本框中的内容,什么是正则表达式,正则表达式是一个描述字符模式的对象定义正则表达式表达式的模式,定义正则表达式,普通方式,var reg=new RegExp(white);var reg=new RegExp(white,g);,构造函数,var reg=/表达式/附加参数,var reg=new RegExp(表达式,附加参数),var reg=/white/;var reg=/white/g;,表达式的模式,简单模式,复合模式,var reg=/china/;var reg=/abc8/;,var reg=/w+$/;var reg=/w+w+.a-zA-Z2,3(.a-zA-Z2,3)?$/;,RegExp对象,RegExp对象的方法,String对象,String对象的方法,RegExp对象的属性,RegExp对象的属性,正则表达式符号,正则表达式常用符号正则表达式重复字符,正则表达式的应用,用户名、密码、电子邮箱、手机号码、身份证号码、生日、邮政编码、固定电话,验证邮政编码和手机号码,验证邮政编码和手机号码,中国的邮政编码都是6位手机号码都是11位,并且第1位都是1邮政编码和手机号码的验证的正则表达式var regCode=/d6$/;var regMobile=/1d10$/;,验证年龄,对年龄进行验证,年龄必须在0120之间,10-99这个范围都是两位数,十位是1-9,个位是0-9,正则表达式为1-9d。0-9这个范围是一位,正则表达式为d。100-119这个范围是三位数,百位是1,十位是0-1,个位是0-9,正则表达式为10-1d。根据以上可知,所有年龄的个位都是0-9,当百位是1时十位是0-1,当年龄为两位数时十位是1-9,因此0-119这个范围的正则表达式为(10-1|1-9)?d年龄120是单独的一种情况,需要单独列出来,练习-验证注册页面,需求说明使用正则表达式验证博客园注册页面,验证用户名、密码、电子邮箱、手机号码和生日用户名只能由英文字母和数字组成,长度为4-16个字符,并且以英文字母开头密码只能由英文字母和数字组成,长度为4-10个字符生日的年份在1900-2009之间,生日格式为1980-5-12或1988-05-04的形式,完成时间:30分钟,查看完整代码,共性问题集中讲解,常见调试问题及解决办法代码规范问题,共性问题集中讲解,小结,下面正则表达式中(b)能正确验证身份证号,身份证号码由15位或18位数字组成。,A.var regMycard=/d15$|d18$/;,B.var regMycard=/d15|d18$/;,C.var regMycard=/d15,18$/;,D.var regMycard=/0-915$|0-918$/;,使用下拉列表框实现级联效果,如何使用下拉列表框实现城市级联,select对象option对象,下拉列表框对象,Select对象常用事件、方法和属性,Option对象常用属性text:设置或返回某个选项的纯文本值value:设置或返回被送往服务器的值,Select对象的属性演示,function get()var index=document.getElementById(fruit).selectedIndex;var len=document.getElementById(fruit).length;var show=document.getElementById(show);show.innerHTML=被选选项的索引号为:+index+下拉列表选项数目为:+len;,add(),下拉列表框对象.add(new,old),简单的添加下拉菜单,var province=document.getElementById(selProvince).value;var city=document.getElementById(selCity);city.options.length=0;switch(province)case 河南省:city.add(new Option(郑州市,郑州市),null);city.add(new Option(洛阳市,洛阳市),null);break;,数组,创建数组,var 数组名称=new Array(size);,表示数组的关键字,表示数组中可存放的元素总数,为数组元素赋值,var fruit=new Array(apple,orange,peach,bananer);,var fruit=new Array(4);fruit 0=apple;fruit 1=orange;fruit 2=peach;fruit 3=bananer;,访问数组,数组名下标,数组的属性和方法,数组的常用属性和方法,数组方法的应用,制作省市级联效果,var fruit=new Array(4);fruit 0=apple;fruit 1=orange;fruit 2=peach;fruit 3=bananer;fruit.sort();var str=fruit.join(-);document.write(str);,下拉列表框的索引号(selectedIndex)与数组下标能准确对应吗?,修改、增加或删除一个省时,对应的数组中的城市的数组下标会错位吗?,数组的文字下标,var cityList=new Array();cityList河北省=邯郸市,石家庄市;cityList河南省=郑州市,洛阳市;cityList湖北省=武汉市,宜昌市;,如何读取数组中的元素值呢?,for(var i in cityList)document.getElementById(show).innerHTML+=i+;for(var j in cityList)for(var k in cityListj)document.getElementById(show).innerHTML+=cityListjk+,省市级联效果,实现思路创建两个下拉列表框,分别显示省份和城市选择某一个省份时,使用onchange事件调用函数(changeCity())使城市下拉列表框中显示对应的城市页面加载时把省份名称添加到表示省份的下拉列表框中,练习制作地址选择,需求说明使用下拉列表框对象和数组制作贵美购物页面中地址选择的级联效果,完成时间:30分钟,查看完整代码,共性问题集中讲解,常见调试问题及解决办法代码规范问题,共性问题集中讲解,总结,正则表达式中的“+”表示什么?匹配前一项1次或多次,,正则表达式中“d”和“w”分别表示什么?0-9匹配一个数字、下划线或字母字符,等价于A-Za-z0-9_,根据班级名称选择对应班级的学生姓名,例如选择二班时对应所有二班学生姓名,选择三班时对应所有三班学生姓名,如图所示,