这两天照镜子发现一如既往的帅,因而乎翻起了正则,打算学习梳理记录起来,一块儿来开心的掉发吧。自拍镇楼html
纯属我的学习所记录,写的不对烦请指正,有些理解与大牛有出入。勿喷!话很少说,欢乐时光就要开始了。正则表达式
首先让咱们来了解一下正则是干什么的,抄他家翻他家底。正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在不少文本编辑器里,正则表达式一般被用来检索、替换那些匹配某个模式的文本。看起来有点枯燥,这段话是我复制过来的。其实通俗点讲就是在网页上咱们常常须要按照某种规则去匹配符合条件的字符串,正则就是记录文本规则的代码。数组
好了,至于为何要用正则,正则有什么好就不用再瞎比比了。接下来讲一下元字符,由于字符挺多的。就不一一列举了,到下文有用到的就直接使用了,不大懂的建议翻看上一篇文章查阅一下正则表达式元字符大整理编辑器
再列举一下正则的几种用法:学习
一、test():在字符串查找符合正则的内容,若是查找到返回true,反之返回false编码
用法:正则.test(字符串)spa
二、search():在字符串搜索符合正则的内容,找到就返回出现的位置index。若是有多个相匹配的,只会返回第一个匹配的位置。搜索失败返回-13d
用法:字符串.search(正则)regexp
三、match():在字符串搜索符合正则的内容,成功返回内容(数组格式),失败返回null。htm
用法:字符串.match(正则)
四、replace():查找符合正则的内容,替换成对应字符串。返回替换后的内容
用法: 字符串.replace(正则,‘替换内容’)
练习题1:验证用户输入的邮政编码是否正确
邮政编码通常都是六位数字,那么看下表达式的规则代码怎么写。正则里面的//等同于双引号。接下来是^是表示以xx开头,而$则是以xx结尾,
接下来的\d就是表示任意数字,而{6}就表示6位数字了。代码串起来理解即是以数字开头,内容一共是6位数字,也以数字结尾。那么这样就能够以这个规则匹配邮箱了
练习题2:验证用户输入的身份证是否正确,要求:要么是15位,要么是18位的数字。15位的最后一位也有多是x
那么看一下正则怎么写呢
练习题3:验证日期格式是否正确。日期格式都是2018-12-14,四位数-两位数-两位数,那么看下正则写法
上面的写法看起来是没什么问题的,由于首先月份是0-12,日期是0-31.而不是任意的数字了,因此仍是要从新写一遍。看下图
练习题4:将手机号中间4位换成*,看下正则写法
练习题5:将一段文本中的MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式。假如个人生日是1995/11/00,而翻转过来就是00/11/1995了,那么怎么转换呢,看上面的例子,再来写正则
练习题6:找出数组中的表示日期的时间字符串,并修改格式为‘日-月-年’
练习题7:去掉http协议的jpg文件的协议头
练习题8:将字符串中的abc替换为xyz
练习题9:判断字符串是否符合指定格式xxx-xx-x,Number类型
练习题10:判断字符串是否以元音字母结尾
练习题11:匹配QQ号,5-10位数字,第一位非0
练习题12:判断QQ邮箱格式是否正确,前面5-10位数字,加上@qq.com
练习题13:清空字符串的先后空格
练习题14:字符串转驼峰写法
练习题15:验证汉字