2016年4月13日-javascript基础第6天课堂笔记_第1页
2016年4月13日-javascript基础第6天课堂笔记_第2页
2016年4月13日-javascript基础第6天课堂笔记_第3页
2016年4月13日-javascript基础第6天课堂笔记_第4页
2016年4月13日-javascript基础第6天课堂笔记_第5页
已阅读5页,还剩12页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JavaScript 基础入门第 6 天课堂笔记(本课程共 10 天)班级:前端1 期讲师:日期:2016 年 4 月 13 日老师:_YYQH:爱前端官网 :JavaScript 基础入门1一、字符串方法复习3二,正则表达式42.1 创建正则表达式42.2 split42.4 match52.5 replace52.6 replace52.7 exec62.8 test6三、 正则表达式语法63.1 特殊字符63.2 预定义特殊字符73.3 字符集73.4 分界83.5 预定义类83.6 量词93.7 修饰符93.8 其他93.9 分组9四,实战94.1 验证号9作业11一、字符串方法复习c

2、oncat 字符串拼接charAt 获取某位置上的字符charCodeAt 获取某位置上的字符编码slice 截取字符串subString 截取字符串subStr 截取字符串indexOf 获取字符在字符串中的位置lastIndexOf 获取字符在字符串中的位置逆向search 获取字符在字符串中的位置split 字符串转化成数组replace 字符串替换二,正则表达式正则表达式是用来匹配字符串的一种模式数据类型是对象今天要学习 6 个方法正则相关方法: exec 和 test字符串相关方法: search, match, split,replace2.1 创建正则表达式你可以通过下面两种方法

3、创建一个正则表达式:使用一个正则表达式字面量,如下所示:var re = /abc/;正则表达式字面量在加载后编译。若你的正则表达式是常量,使用这种方式可以获得更好的性能。调用 RegExp 对象的构造函数,如下所示:var re = new RegExp(abc);(new 操作符JavaScript 高级课程详细介绍,这里记住即可)2.2 split切割字符串的方法,通常传递字符或者字符串来切割字符串,此时通常传递的参数是能看到的摸得着,是比较具体的,当不能用一个完整的字符串表达这个切个符号的时候,但是能提炼换一个规则来切割,此时就可以用正则表达式来表示这个规则,切割字符串。2.3 sea

4、rch用来寻找字符或者字符串在父字符串中的位置,可以传递字符,也可以传递字符串。var str = ab c;console.log(str.split()console.log(str.split(/s+/)类数组:它是融合了数组和对象的一个对象,他可以使用数组的方法,有数组的属性,他也可以使用对象的方法,有对象的属性。正则表达式中,是一个严格模式,一定注意,不要乱添加空格。2.4 match在父字符串中寻找匹配字符串,它是一个字符串方法,参数是配置字符串或者匹配的规则。2.5 replace替换父字符串中匹配的字符串。接收两个参数,第一个是:匹配的字符串,可以是字符串也可以是正则表达式第二

5、个是:替换的字符串,可以是简单类型如字符串,也可以是函数,注意函数要有返回值,并且将这个返回值作为字符串var str = ;/ var str = ;console.log(str.replace(/ );console.log(str.replace(/ function() return ;6)var str = abbcccbbbbbddbbbdabbb;console.log(str.match(/b+/g)console.log(str.match(bb)var str = abcde;console.log(str.indexOf(cd)console.log(str.searc

6、h(cd)console.log(str.search(/cd/)字符串方法返回值有三类:返回数字类型:indexOf,lastIndexOf,search , charCodeAt返回数组的方法:split,match返回字符串的方法:charAt,substring,substr, slice, replace2.6 replace第一个参数是字符串或者是正则表达式,要是的是一个结果,当然也可以传递函数,注意,当传递的是函数时候一定要执行,并且有返回值,并返回值是字符串或者正则表达式。第二个参数是字符串或者函数,字符串表示结果,当匹配过程中不会执行,如果是函数的话,分成两种情况,如果执行了

7、跟字符串效果一样,如果没执行,会在匹配过程中执行。很多情况下,匹配需要写的正则表达式比较复杂,此时可以将其拆分开来,一步一步替换处理。s+ 它是贪婪模式,她会尽可能多的去匹配,这样匹配的次数比较少,性能更高s 它只表示一个空格,所以匹配的次数多,性能相对低些。2.7 exec它是正则对象的方法正则表达式有两种创建方式。字面量形式: var str = /abc/g;表示全局匹配abc 字符串实例化形式:var reg = new RegExp(abc, g)表示创建一个匹配abc 字符串的正则对象,注意,转义字符要反斜杠,原因是第一个参数是字符串不是正则表达式。所以使用exec 方法是,只需要

8、对正则对象直接调用即可,他表示在字符串中匹配符合正则规则的字符串2.8 test正则对象的一个方法,它表示该字符串(参数)是否匹配的正则规则。/ var reg = /o/;var reg = /iqianduan/;var str = o icketang;/ 判断 str 字符串是否匹配reg 规则console.log(reg.test(str);var demo = prompt(输入空格);alert(/s/.test(demo);/ 匹配 abc 字符串var str = /abc/g;var reg = new RegExp(abc, g)45var demo = aaaabcc

9、ccbacabc;6/ str.exec(abcd) = abcconsole.log(str.exec(demo);/ str.exec(abcd) = abcconsole.log(reg.exec(aaaabccccbacabc);三、正则表达式语法3.1 特殊字符正则表达式由普通字符和特殊字符(元字符)组成。普通字符包括:字母(abcABC),数字(123),_等等特殊字符:() $ * ? | + .普通字符可以直接拿来用,但是,特殊字符是一定要转义。3.2 预定义特殊字符/t/制表符t/n/回车符n/f/换页符f/b/与回退字符b/ 匹配制表符var str = ab;var re

10、g = /t/;console.log(reg.test(str);5/ 匹配回车符var str2 = anb;var reg2 = /n/;/ 匹配 avar reg = /a/console.log(reg.test(bbacc)4/ 匹配mvar reg = /m/; / 特殊字符要转义console.log(reg.test(asdfmsadfasd);/ 字符串中反斜杠要转义3.3 字符集Javascript 的正则表达式中有四类字符集简单类它是有一一对应的字符组成的集合,通过住,来表示这几个字母组成的一个集合如: ab5表示由ab5 六个字符组成的一个集合范围类通过首位字母以及-

11、组成的一个范围集合如:a-z 表示小写字母集合。A-Z 表示大写字母集合。0-9 表示数字集合。i-y 表示小写字母 i 到 y 的集合负向类通过在最前面添加来表示不包含该集合的字符集如:abc 表示不包含 abc 的任意字符集合,ab89CD 表示不包含ab89CD 这六个字符的集合组合类通过将几个集合拼接在一起表示一个组合的集合。如:a-zA-Z0-9 表示大小写字母以及数字的结合/ 简单类 nba 三个字母组成的简单集合/ var reg = /nba/;/ console.log(reg.test(xyzn)45/ 范围类 A-Z 大写字母集合6/ var reg = /A-Z/;7/

12、 console.log(reg.test(a)8console.log(str2)console.log(reg2.test(str2);3.4 分界字符串是有边界,这里的边界指的就是字符串的首尾字符串的起始位置用,如: /abc/ 判断字符串是否是以 abc 开始的字符串的结束位置用$表示如:/xyz$/ 判断字符串是否是一 xyz 结尾的对于单词的分界,正则表达式给我定义了一些分隔符单词分隔符用b 表示 a-zA-Z_0-9之外的字符非单词分隔符用B 表示3.5 预定义类.nr除了换行和回车之外的任意字符/ 判断字符串是否是以 abc 开头var reg = /abc/;console.

13、log(reg.test(abcdef)console.log(reg.test(o)5/ 判断字符串是否是以 xyz 结尾的var reg = /xyz$/;console.log(reg.test(uvwxyz);console.log(reg.test(oyz);10/ how old are you切割成单词var str = how old areyou|abc;/ 大小写字母表示:a-zA-Z+console.log(str.match(/ba-zA-Z+b/g);9/ 负向类 不包含 yellow10 / var reg = /9/;11 / console.log(reg.te

14、st(9)1213 / 组合类14 var reg = /0-9a-z/;15 console.log(reg.test(9a)d0-9数字字符D0-9非数字字符s tnx0Bfr空白字符S tnx0Bfr非空白字符wa-zA-Z_0-9单词字符(所有的字母)Wa-zA-Z_0-9非单词字符3.6 量词软性量词出现零次或一次?软性量词出现零次或多次(任意次)*软性量词出现一次或多次(至道一次)+n硬性量词对应零次或者 n 次n,m 软性量词至少出现 n 次但不超过 m 次(中间不能有空格)n,软性量词至少出现 n 次(+的升级版)3.7 修饰符g 表示全局匹配i 忽略大小写m 多行匹配3.8 其他u4e00-u9fa5表示中| 表示或者的意思alert(/a|b/.test(b) = truealert(/a|b/.test(c) = false3.9 分组分组1 解决多个字符串重复2 可以在外面获取格式 (任意个字符)获取在正则表达式获取:数字在正则表达式外部获取:$数字注意数字是从 1 开始的。四,实战4.1 验证号1/ 验证号2/*3* 11 位 114* 第一位是 1 15* 都是数字 0-9 d6*/7var reg = /1d10$/;var str = prompt(请输入号);if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论