欢迎光临散文网 会员登陆 & 注册

JavaScript_正则表达式

2023-03-17 15:21 作者:苏喆i  | 我要投稿

正则表达式是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。

正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。

1、特点

  • 实际开发,一般都是直接复制写好的正则表达式

  • 但是要求会使用正则表达式并且根据自身实际情况修改正则表达式

2、创建正则表达式

在JavaScript中,可以通过两种方式创建正则表达式

  1. 通过调用 RegExp 对象的构造函数创建

  2. 通过字面量创建

2.1、通过调用 RegExp 对象的构造函数创建

通过调用 RegExp 对象的构造函数创建

2.2、通过字面量创建

通过字面量创建

注释中间放表达式就是正则字面量

2.3、测试正则表达式 test

  • test()正则对象方法,用于检测字符串是否符合该规则,该对象会返回truefalse,其参数是测试字符串

  • regexObj 写的是正则表达式

  • str 我们要测试的文本

  • 就是检测str文本是否符合我们写的正则表达式规范

3、正则表达式中的特殊在字符

3.1、边界符

正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符

如果^ 和 $ 在一起,表示必须是精确匹配

3.2、字符类

  • 字符类表示有一系列字符可供选择,只要匹配其中一个就可以了

  • 所有可供选择的字符都放在方括号内

①[] 方括号

后面的字符串只要包含 abc 中任意一个字符,都返回true

②[-]方括号内部 范围符

方括号内部加上 - 表示范围,这里表示 a - z 26个英文字母都可以

③[^] 方括号内部 取反符 ^

方括号内部加上 ^ 表示取反,只要包含方括号内的字符,都返回 false

注意和边界符 ^ 区别,边界符写到方括号外面

④字符组合

方括号内部可以使用字符组合,这里表示包含 a 到 z的26个英文字母和1到9的数字都可以

3.3、量词符

量词符用来设定某个模式出现的次数

3.4、用户名验证

功能需求:

  1. 如果用户名输入合法, 则后面提示信息为 : 用户名合法,并且颜色为绿色

  2. 如果用户名输入不合法, 则后面提示信息为: 用户名不符合规范, 并且颜色为绿色

分析:

1.用户名只能为英文字母,数字,下划线或者短横线组成, 并且用户名长度为 6~16位.

2.首先准备好这种正则表达式模式 /$[a-zA-Z0-9-_]{6,16}^/

3.当表单失去焦点就开始验证.

4.如果符合正则规范, 则让后面的span标签添加 right 类.

5.如果不符合正则规范, 则让后面的span标签添加 wrong 类.

4、括号总结

  1. 大括号 量词符 里面面表示重复次数

  2. 中括号 字符集合 匹配方括号中的任意字符

  3. 小括号 表示优先级

在线测试正则表达式:https://c.runoob.com/

5、预定义类

预定义类指的是 某些常见模式的简写写法

5.1、表单验证

分析:

1.手机号码: /^1[3|4|5|7|8][0-9]{9}$/

2.QQ: [1-9][0-9]{4,} (腾讯QQ号从10000开始)

3.昵称是中文: ^[\u4e00-\u9fa5]{2,8}$

6、正则表达式中的替换

6.1、replace 替换

replace()方法可以实现替换字符串操作,用来替换的参数可以是一个字符串或是一个正则表达式

  1. 第一个参数: 被替换的字符串或者正则表达式

  2. 第二个参数:替换为的字符串

  3. 返回值是一个替换完毕的新字符串

6.2、正则表达式参数

switch按照什么样的模式来匹配,有三种

  • g: 全局匹配

  • i:忽略大小写

  • gi: 全局匹配 + 忽略大小写


JavaScript_正则表达式的评论 (共 条)

分享到微博请遵守国家法律