大家好,我是IT修真院北京分院18期的学员,一枚正直纯洁善良的web程序员
今天给大家分享一下,js-任务2,相关的正则表达式。
1.背景介绍
什么是正则表达式?
一个正则表达式(规则表达式 regular expression)可以认为是一个集合,这个集合是用一些描述来定义的。 比如“一个仅由数字组成的字符串,个数至少6个,最多24个”。
这样的描述电脑不懂,外国人也不懂。因此需要用更简洁的描述来表达。现在用“\d”表示一个0-9之间的数字,用{5,24}表示个数5-24个, 描述就成了"\d{5,24}",这就是一个正则表达式
正则表达式可以用来做什么?
几乎任何编程语言都支持正则表达式;
1,搜索:把符合规则的内容,批量找出来,比如从一篇文章中搜索其中的数字
2,验证:检查一串字符串是否符合特定规则,比如表单里的手机号,邮箱
正则表达式的规则
1 任何字符串都是一个天然的正则表达式,比如“mall”,它可以用来在一篇文章中,搜索出所有的“mall”。
2 规则的描述的方式也可以用列举,比如:[1,2,5,8],数学上,它就表示这4个数字中的一个,在正则表达式中,可以用“1|2|5|8”来表示。
3 这则表达式本身只是一个数据集合的描述,必须配合代码才能使用,js原生支持一些匹配正则表达式的方法。 4 正则表达式引擎,识别正则表达式时有一定的规则,但是现在不必在意。
2.知识剖析
正则表达式的语法
*元字符:用简单的字符代表一个集合:如“\w”代表单词,“^”代表一串字符的开始,“\b”代表单词两边的间隔,等
转译“\”:"d"是个字母,“\d”就表示任何数字,“\\d”被转译两次抵消了,表示“\d”这个两个字符串类型的字符
范围和个数:[]表示范围,如[a-e]表示abcde五个字母中的一个,
{}表示范围,如{3}表示3个,{3,}表示3个及以上,{3,5}表示3个以上,5个及以下
3.常见问题
如何写一个正则表达式
如果用一个正则表达式
4.解决方案
如何写一个正则表达式(6-18之间的一个数字)
1 开头和结尾:^$
2 内容:^(\d)|(1\d)$
3 限制:^(\d[6-9])|(1\d[0-8])&
在js里的写法
正则表达式也是一个字符串,知识有特定的格式;在js中,字符串的格式是:
/正则表达式正文/,也就是套在//之间。
window.RegExp("^\\b[6-9]$","g")
/^\b[6-9]$/g
js的window.RegExp()方法,用于按照()内的字符串,生成一个正则表达式
实际上,不如直接手写: var reg="/^\b[6-9]$/g"
如何用一个正则表达式
js字符串的.search()方法
其它框架和插件,有利用正则实现不允许输入/提示错误等功能。
5代码演示:
见视频
7.参考文献
菜鸟教程
8.更多讨论
PPT:https://ptteng.github.io/PPT/PPT/js-04-regular-expression.html
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !
或者你可以直接点击此链接:邀请码:6039