2022.3.26 学习笔记
目录
4.4.1 语法: var 变量 = /正则表达式/匹配模式
4.4.2 创建一个正则表达式,检查一个字符串中是否含有‘a’或‘b’
4.5.1 split( ) 可以将一个字符串拆分成一个数组
4.5.2 search( ) 可以搜索字符串中是否含有指定内容
4.5.3 match( ) 可根据正则表达式去检索字符串,将其中符合条件的内容提取出来
4.5.4 replace( ) 可以将字符串中指定内容替换为新的内容
四、正则表达式
4.1 概述
正则表达式用于定义一些字符串的规则:1.计算机可以根据正则表达式,来检查一个字符串是否符合规则。2.获取将字符串中符合规则的内容提取出来。
4.2 创建正则表达式的对象
语法: var 变量=new RegExp('正则表达式','匹配模式');
使用typeof检查正则对象,会返回object
例: var reg=new RegExp('a'); 这个正则表达式可以用检查一个字符串中是否含有‘a’。
4.3 检验是否符合正则表达式
test( ) 使用这个方法来检查一个字符串是否符合正则表达式的规则。符合就返回true,否则返回false。
var str='abc';
var reg=new RegExp('a');
var result=reg.test(str);
console.log(result); //true
console.log(reg.test('bcbc')); //false
在构造函数中可以传递一个匹配模式作为第二参数,可以是i 忽略大小写,g 全局匹配模式。
var reg2=new RegExp('a','i'); //注意有引号
console.log(reg2.test('Abcd')); //true
4.4 使用字面量创建正则表达式
4.4.1 语法: var 变量 = /正则表达式/匹配模式
使用字面量的方式创建更加简单,但使用构造函数方式创建更加灵活。
var reg3 = /B/i; //注意没有引号
console.log(reg3.test('Abcd')); //true
4.4.2 创建一个正则表达式,检查一个字符串中是否含有‘a’或‘b’
1. 使用 | 表示或者的意思
var reg =/a|b/;
console.log(reg.test('acdef')); //true
console.log(reg.test('bcdef')); //true
console.log(reg.test('abcdef')); //true
console.log(reg.test('cdef')); //false
2. [ ]里的内容也是或者的意思
例如[abc] == a | b | c ^[abc]$ 表示a、b、c三选一
注:[a-z] 任意小写字母 [A-Z] 任意大写字母 [A-z] 或者[a-zA-Z]任意字母 [0-9] 任意数字
[^ ]除了...以外是否还有其他 [^0-9 ]不能只含有数字 ^[^ ]不能包含...
4.5 字符串和正则表达式相关的方法
4.5.1 split( ) 可以将一个字符串拆分成一个数组
此方法中可以传递一个正则表达式,如此就会根据正则表达式去拆分字符串。
注:这个方法即使不指定全局匹配模式,也会全部拆分。
4.5.2 search( ) 可以搜索字符串中是否含有指定内容
如搜索到指定内容,则会返回第一次出现该内容的索引;如没有搜索到就返回-1。
可接受一个正则表达式作为参数,然后根据正则表达式去检索字符串。
注:这个方法即使指定了全局匹配模式,也只会查找第一个符合条件的内容。
4.5.3 match( ) 可根据正则表达式去检索字符串,将其中符合条件的内容提取出来
match( ) 会将其中符合条件的内容提取出来,然后封装到一个数组中返回,即使只查询到一个结果。
默认情况下,match只会找到第一个符合要求的内容,找到后就会停止检索。可以设置正则表达式的匹配模式为全局匹配模式,这样就可以匹配到所有内容。注:可以为一个正则表达式设置多个匹配模式,且顺序无要求。
4.5.4 replace( ) 可以将字符串中指定内容替换为新的内容
有两个参数:1.被替换的内容 2.新的内容 默认情况下,只会替换第一个符合要求的内容。也可设置正则表达式的匹配模式为全局匹配模式,这样就可以匹配到所有内容。
4.6 正则表达式语法
4.6.1 量词
通过量词可以设置一个内容出现的次数,量词只对它前面的一个内容起作用.
{n}表示一个字符串中含有...至少连续n次。
/aaa/ == /a{3}/ 另:/^a{3}$/ 表示只有‘aaa’才返回true,不能再含有其他内容
{m,n} 出现m至n次 {m,} 出现m次以上
+ 至少一个,相当于{1,} *零个或多个,相当于{0,} ?零个或一个,相当于{0,1}
4.6.2 ^以...开头 $以...结尾
案例:手机号的规则
1.以1开头 2.第二位3-9的任意数字 3.后面九位任意数字
var reg=/^1[3-9][0-9]{9}$/;
var str1='18382722868';
var str2='11082722868';
console.log(reg.test(str1)); //true
console.log(reg.test(str2)); //false
4.6.3 正则表达式中的某些字符
1.检查一个字符串中是否含有'.',需要使用转义字符\,即用\. 来表示
2.检查一个字符串中是否含有'\',也需要使用转义字符\,即用\\ 来表示
注 :利用构造函数声明时有所不同
3.其他字符
例:\b 匹配单词边界 \B匹配非单词边界
查找字符串中是否含有单词child:
var reg=/child/;
var str="hello children";
console.log(reg.test(str)); //true
var reg=/\bchild\b/;
var str="hello children";
console.log(reg.test(str)); //false
var str="hello child";
console.log(reg.test(str)); //true
例:去除字符串中前后的空格
实际上就是使用''来替换空格
例:设置邮箱格式
2022.3.27 学习笔记
一、简介导读
1.1 Web APls和JS的关联性
1.1.1 JS的组成
1.1.2 JS基础和Web APls阶段
JS基础学习、ECMAscript基础语法为后续做铺垫;Web APls是JS的大量应用,会大量使用JS基础语法做交互效果。
1.2 APl和Web APl
1.2.1 APl
API(application programming interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或者硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
简单理解:API是给程序员提供的一种工具,以便能更加轻松的实现想要完成的功能。
1.2.2 Web APl
Web APl是浏览器提供的一套操作浏览器功能和页面元素的APl(BOM和DOM)。
现阶段我们主要针对于浏览器讲解常用的API,主要针对浏览器做交互效果。
比如我们想要浏览器弹出一个警示框,直接使用alert(‘弹出’)
MDN详细API:Web API 接口参考 | MDN
因为Web API有很多,因此我们将这个阶段称为Web APIs 。
1.2.3 总结
1. APl是为我们程序员提供的一个接口,帮助我们实现某项功能,我们会使用即可,不需要纠结内部如何实现。
2. Web APl主要是针对于浏览器提供的接口,主要针对于浏览器做交互效果。
3. Web APl一般都有输入和输出(函数的形参和返回值),Web APl很多都是方法(函数)。
4. 学习Web APl可多查阅MDN。
:)发烧了咱就是说 一下午没学 o(π﹏π)o 现在终于退烧了 大家天冷一定要多穿衣服!