js正则表达式

核心知识点

正则的表达式的特殊符号

总结: 主要是用在表单验证、失去焦点onblur事件、使用ajax返回数据,并判断。

一. 什么是正则表达式【了解】

​ 正则表达式Regular Expression:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

​ 正则表达式在其他语言中也广泛应用。

正则表达式,就是定义好一个字符串规则 ,然后根据规则实现对象字符串的匹配、提取、替换等

二. 正则表达式的作用【了解】

给定的字符串是否符合正则表达式的过滤逻辑(匹配)

可以通过正则表达式,从字符串中获取我们想要的特定部分(提取)

强大的字符串替换能力(替换)

三.正则表达式的特点【了解】

灵活性、逻辑性和功能性非常的强

可以迅速地用极简单的方式达到字符串的复杂控制

四. 正则表达式语法 【重要】

在线测试正则

4.1 正则表达式的组成

普通字符abc 123 我爱你

特殊字符(元字符、限定符、中括号):正则表达式中有特殊意义的字符

4.2 元字符

​ 元字符就是,在正则表达式中具有特殊含义的字符。

元字符****说明

\d匹配数字

\D匹配非数字

\w匹配字母或数字或下划线_

\W匹配非字母、数字、下划线_

\s匹配空白符(空格)

\S匹配非空白符

.匹配任意除了换行符之外的单个字符

4.3 限定符

控制字符出现的个数。

限定符****说明

n*匹配任何包含零个或多个 n 的字符串。n{0,}

n+匹配任何包含至少一个 n 的字符串。{1,}

n?匹配任何包含零个或一个 n 的字符串。{0,1}

n{x}匹配包含 x 个 n 的序列的字符串

n{x,}匹配包含至少 x 个 n 的序列的字符串。

n{x,y}匹配包含 至少x个 至多 y 个 n 的序列的字符串。

n$匹配任何结尾为 n 的字符串

^n匹配任何开头为 n 的字符串

注意:^正则表达式$ 使用时,会对字符串整体校验,完全符合才能够匹配。否则,不匹配。

注意:在使用花括号限制字符个数时,将来在去匹配时,首先从前向后匹配,先按照至多的要求匹配,至多不满足时,再降低要求匹配,若将至最少时还不匹配→ 最终是不匹配。

注意:关于次数至少是0时,表示的有没有都符合。 没有符合,内容不是也符合

4.4 中括号

一个中括号就代表一个字符,中括号的目的就是控制了一个字符的==范围==。

对象字符种类限制

中括号说明

[abc]查找一个方括号之间的任何字符。

[ abc]查找一个任何不在方括号之间的字符。在中括号中有取反的意思

[0-9]查找一个任何从 0 至 9 的数字。

[a-z]查找一个任何从小写 a 到小写 z 的字符。

[A-Z]查找一个任何从大写 A 到大写 Z 的字符。

[A-z]查找一个字母(包含大小写和下划线)

[\u4e00-\u9fa5]查找一个汉字

​ 在匹配时,从前向后按照【规则】去找,若是全局匹配,前面若有满足项时,后面再匹配时,从满足项下一个开始匹配。

4.5 或模式

特殊符号:正则1|正则2, 或者。 符合或两边其中一个就可以匹配。

如:google,baidu,bing; // 匹配三种其中一种字符串

正则:google|baidu|bing

4.6 分组模式

特殊符号:(正则);

组指的是一个小集体,分组就是将一个大集体可以分成几个小集体。

如:控制你的名字连续出现的次数,最少1次,最多3次

正则:^(bruce){1,3}$

4.7 修饰符

g

g,全称global,有 全局 的意思,表示全局匹配。

如: var reg = /hello/g;

i

i,全称ignore,有 忽视、忽略 的意思,表示匹配字母时,可以忽略字母的大小写。

​ 如: var reg = /hello/i;

gi

gi,全局匹配和忽略大小写一起使用。

如: var reg = /hello/gi;

4.8 正则转义符

.在正则中表示特殊符号。去除.的特殊意义,需要转义: .

课堂一练

验证邮箱

^\w+@\w+.\w+$

^\w+@\w+.[a-z]{2,3}$

^\d{5,11}@qq.com$

^\w+@[0-9a-z]{2,12}.(com|cn)$

验证身份证号

^\d{17}[\dX]$

^\d{17}(\d|X)$

验证手机号

^\d{11}$

验证日期 2018-10-10

^\d{4}-\d{1,2}-\d{1,2}$

验证IP 08-常见的

^\d{1,3}(.\d{1,3}){3}$

\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}

五. js中使用正则表达式 【重要】

5.1 正则表达式对象

创建正则表达式对象

方式1:

语法:var 变量 = new RegExp(“规则”,”修饰符”);

代码:

varreg=newRegExp('\d','g');

方式2:字面量或直接量

语法:var 变量 = /正则表达式/;

代码:

varreg=/\d/g;

检测匹配

正则对象.==test(字符串)== ; 用于检测字符串是否==匹配== 某个规则。返回true和false。 【重点 】

5.2 字符串对象方法相关正则使用

字符串.match(正则对象);

获取匹配正则的子字符串,返回一个数组。

字符串.replace(正则对象,替换后的内容); ​ 替换所匹配正则的子字符串。返回替换后的字符串。

表单验证

自学习-密码强度

本章小结:

掌握正则表达式特殊符号的使用

掌握js正则表达式对象的创建及检测字符串是否匹配

掌握字符串对象操作正则的相关方法。
核心知识点

正则的表达式的特殊符号

总结: 主要是用在表单验证、失去焦点onblur事件、使用ajax返回数据,并判断。

一. 什么是正则表达式【了解】

​ 正则表达式Regular Expression:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

​ 正则表达式在其他语言中也广泛应用。

正则表达式,就是定义好一个字符串规则 ,然后根据规则实现对象字符串的匹配、提取、替换等

二. 正则表达式的作用【了解】

给定的字符串是否符合正则表达式的过滤逻辑(匹配)

可以通过正则表达式,从字符串中获取我们想要的特定部分(提取)

强大的字符串替换能力(替换)

三.正则表达式的特点【了解】

灵活性、逻辑性和功能性非常的强

可以迅速地用极简单的方式达到字符串的复杂控制

四. 正则表达式语法 【重要】

在线测试正则

4.1 正则表达式的组成

普通字符abc 123 我爱你

特殊字符(元字符、限定符、中括号):正则表达式中有特殊意义的字符

4.2 元字符

​ 元字符就是,在正则表达式中具有特殊含义的字符。

元字符****说明

\d匹配数字

\D匹配非数字

\w匹配字母或数字或下划线_

\W匹配非字母、数字、下划线_

\s匹配空白符(空格)

\S匹配非空白符

.匹配任意除了换行符之外的单个字符

4.3 限定符

控制字符出现的个数。

限定符****说明

n*匹配任何包含零个或多个 n 的字符串。n{0,}

n+匹配任何包含至少一个 n 的字符串。{1,}

n?匹配任何包含零个或一个 n 的字符串。{0,1}

n{x}匹配包含 x 个 n 的序列的字符串

n{x,}匹配包含至少 x 个 n 的序列的字符串。

n{x,y}匹配包含 至少x个 至多 y 个 n 的序列的字符串。

n$匹配任何结尾为 n 的字符串

^n匹配任何开头为 n 的字符串

注意:^正则表达式$ 使用时,会对字符串整体校验,完全符合才能够匹配。否则,不匹配。

注意:在使用花括号限制字符个数时,将来在去匹配时,首先从前向后匹配,先按照至多的要求匹配,至多不满足时,再降低要求匹配,若将至最少时还不匹配→ 最终是不匹配。

注意:关于次数至少是0时,表示的有没有都符合。 没有符合,内容不是也符合

4.4 中括号

一个中括号就代表一个字符,中括号的目的就是控制了一个字符的==范围==。

对象字符种类限制

中括号说明

[abc]查找一个方括号之间的任何字符。

[ abc]查找一个任何不在方括号之间的字符。在中括号中有取反的意思

[0-9]查找一个任何从 0 至 9 的数字。

[a-z]查找一个任何从小写 a 到小写 z 的字符。

[A-Z]查找一个任何从大写 A 到大写 Z 的字符。

[A-z]查找一个字母(包含大小写和下划线)

[\u4e00-\u9fa5]查找一个汉字

​ 在匹配时,从前向后按照【规则】去找,若是全局匹配,前面若有满足项时,后面再匹配时,从满足项下一个开始匹配。

4.5 或模式

特殊符号:正则1|正则2, 或者。 符合或两边其中一个就可以匹配。

如:google,baidu,bing; // 匹配三种其中一种字符串

正则:google|baidu|bing

4.6 分组模式

特殊符号:(正则);

组指的是一个小集体,分组就是将一个大集体可以分成几个小集体。

如:控制你的名字连续出现的次数,最少1次,最多3次

正则:^(bruce){1,3}$

4.7 修饰符

g

g,全称global,有 全局 的意思,表示全局匹配。

如: var reg = /hello/g;

i

i,全称ignore,有 忽视、忽略 的意思,表示匹配字母时,可以忽略字母的大小写。

​ 如: var reg = /hello/i;

gi

gi,全局匹配和忽略大小写一起使用。

如: var reg = /hello/gi;

4.8 正则转义符

.在正则中表示特殊符号。去除.的特殊意义,需要转义: .

课堂一练

验证邮箱

^\w+@\w+.\w+$

^\w+@\w+.[a-z]{2,3}$

^\d{5,11}@qq.com$

^\w+@[0-9a-z]{2,12}.(com|cn)$

验证身份证号

^\d{17}[\dX]$

^\d{17}(\d|X)$

验证手机号

^\d{11}$

验证日期 2018-10-10

^\d{4}-\d{1,2}-\d{1,2}$

验证IP 08-常见的

^\d{1,3}(.\d{1,3}){3}$

\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}

五. js中使用正则表达式 【重要】

5.1 正则表达式对象

创建正则表达式对象

方式1:

语法:var 变量 = new RegExp(“规则”,”修饰符”);

代码:

varreg=newRegExp('\d','g');

方式2:字面量或直接量

语法:var 变量 = /正则表达式/;

代码:

varreg=/\d/g;

检测匹配

正则对象.==test(字符串)== ; 用于检测字符串是否==匹配== 某个规则。返回true和false。 【重点 】

5.2 字符串对象方法相关正则使用

字符串.match(正则对象);

获取匹配正则的子字符串,返回一个数组。

字符串.replace(正则对象,替换后的内容); ​ 替换所匹配正则的子字符串。返回替换后的字符串。

表单验证

自学习-密码强度

本章小结:

掌握正则表达式特殊符号的使用

掌握js正则表达式对象的创建及检测字符串是否匹配

掌握字符串对象操作正则的相关方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容