资讯专栏INFORMATION COLUMN

JavaScript面向对象编程——RegExp类型

Magicer / 1043人阅读

摘要:由于某些字符类非常常用,的正则表达式中,使用特殊转义字符表示他们。多行搜索代码示例对象创建对象可以通过引用类型创建正则表达式对象参数参数被称为模式,可以使任何简单或复杂的正则表达式,包含字符类限定符分组向前查找以及反向引用等。

概述 正则表达式是什么

正则表达式(RegularExpression):由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式。
正则表达式常用在一段文本中搜索、匹配或替换特定形式的文本。比如:词语出现频率统计、验证字符串是否符合邮箱格式、屏蔽一篇帖子中的限制性词语等。

创建正则表达式
/*
    1.字面量/直接量方式
      var 变量名 = /pattern/attributes
      * pattern - 称为模式,用于定义正则表达式的内容
      * attributes - 称为修饰符,用于定义正则表达式的行为
 */
var reg = /123456789/i;
/*
    2.构造函数方式
      var 变量名 = new RegExp(pattern [, attributes])
      * pattern - 称为模式,用于定义正则表达式的内容
      * attributes - 称为修饰符,用于定义正则表达式的行为
 */
var reg = new RegExp("123456789", "i");

pattern参数:被称为模式,可以使任何简单或复杂的正则表达式,包含字符类、限定符、分组、向前查找以及反向引用等。
attributes参数:被称为修饰符,用于表明正则表达式的行为。

符号 直接量字符

正则表达式中的所有字母和数字都是按照字面含义进行匹配的。JavaScript正则表达式语法也支持非字母的字符匹配,这些字符需要通过反斜线作为前缀进行转义。

字符类

将直接量字符多带带放进方括号内就组成了字符类。一个字符可以匹配它所包含的任意字符。由于某些字符类非常常用,JavaScript的正则表达式中,使用特殊转义字符表示他们。

var str = "king";

// 正则表达式的内容中定义规则 -> 验证的内容是否包含规则
// var reg = /123456789/;

// 正则表达式的内容中定义规则 -> 验证的内容匹配任何字符即可
var reg = /[0123456789]/;
var reg = /[d]/;
var reg = /[0-9]/;

var reg = /[a-zA-Z]/;

var result = reg.test(str);
console.log(result);
重复

在JavaScript中的正则表达式用来描述任意多位的数字,或者描述由三个字母和一个数字构成的字符串时,可以使用字符重复耳钉标记。

var str = "wolong124xue3yuan";
/*
    {n, m} - 表示字符类中任意字符出现的次数
    * n - 表示至少出现n次(包含n次)
    * m - 表示至多出现m次(包含m次)
    * 注意 - 出现的次数必须是连续的
 */
var reg = /[0-9]{3,5}/;
var result = reg.test(str);
console.log(result);
匹配指定的位置

正则表达式中的多个元素才能够匹配字符串的一个字符,这些元素称之为正则表达式的锚。因为它们将模式定位在搜索字符串的特定位置上。

常用两中‘^’和‘$’一个表示从匹配输入的开始,另一个表示 从匹配输入的结束。

var str = "12a45";

// 表示以什么开始的
// var reg = /^[0-9]{3,5}/;
// 表示以什么结束的
// var reg = /[0-9]{3,5}$/;
// 表示匹配内容的长度只能为至少n次,至多m次,而且内容必须与字符类匹配
var reg = /^[0-9]{3,5}$/;

var result = reg.test(str);
console.log(result);

// 长度为6-16位的数字或字母
/^[0-9a-zA-Z]{6,16}$/
修饰符

正则表达式的修饰符,用于说明高级匹配模式的规则。修饰符是放在“/”符号后面的,JavaScript支持三个修饰符
1.i:不区分大小写搜索。
2.g:全局搜索。
3.m:多行搜索.
代码示例:

var str = "wolongxueyuan";

var reg = /^[A-Z]{8,16}$/i;
var result = reg.test(str);
console.log(result);
对象 创建RegExp对象

JavaScript可以通过引用类型RegExp创建正则表达式对象
参数:
1.pattern参数:被称为模式,可以使任何简单或复杂的正则表达式,包含字符类、限定符、分组、向前查找以及反向引用等。
2.attributes参数:被称为修饰符,用于表明正则表达式的行为。
代码示例

var arr = new RegExp(pattern,attributes);
RegExp对象的属性

RegExp对象的方法

RegExp独享的方法有三种:
1.compile():编译/重新编写正则表达式,将pattern转换为每部格式,加快执行速度。
2.exec():检索字符串中指定的值。返回找到的值,并确定其位置;影响lastlndex属性的值。
3.test():检索字符串中指定的值。返回true或false;影响lastlndex属性的值。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108425.html

相关文章

  • 前端_JavaScript_面向对象编程

    摘要:面向对象编程对象的原生方法分成两类自身的方法静态方法和的实例方法。的静态方法方法与,参数是对象,返回一个数组,数组的值是改对象自身的所有属性名区别在于返回可枚举的属性,返回不可枚举的属性值。 面向对象编程 Objects对象的原生方法分成两类:Object自身的方法(静态方法)和Object的实例方法。注意Object是JavaScript的原生对象,所有的其他对象都是继承自Objec...

    Blackjun 评论0 收藏0
  • JavaScript权威指南》随笔(一)

    摘要:每个构造函数定义了一类对象,表示由构造函数初始化对象的集合。严格模式下,明确禁止八进制数。日期和时间构造函数用来创建表示日期和时间的对象,包含方法。模式匹配函数是一个构造函数,创建正则表达式。布尔值表示两种状态,使用保留字和。 《Javascript权威指南》就是前端工程师口中常说的犀牛书,得名是因为中文翻译出版的书籍封面是一只犀牛,是学习JavaScript的必读书籍。 JavaSc...

    SwordFly 评论0 收藏0
  • JavaScript对象的深浅复制

    摘要:本文是我在复制对象方面的一些心得总结,由浅复制到深复制,由只复制简单属性到复制,等复杂属性,层层递进。如有陈述不当之处,烦请指出,不胜感激。下面是一个简单的浅复制实现。 前言 从层次上来看,对象的复制可以简单地分为浅复制和深复制,顾名思义,浅复制是指只复制一层对象的属性,不会复制对象中的对象的属性,对象的深复制会复制对象中层层嵌套的对象的属性。在复制对象时,除了要复制对象的属性外,还要...

    B0B0 评论0 收藏0
  • 理解javascript核心知识点

    摘要:作用域链的作用就是做标示符解析。事件循环还有个明显的特点单线程。早期都是用作开发,单线程可以比较好当规避同步问题,降低了开发门槛。单线程需要解决的是效率问题,里的解决思想是异步非阻塞。 0、前言 本人在大学时非常痴迷java,认为java就是世界上最好的语言,偶尔在项目中会用到一些javascript,但基本没放在眼里。较全面的接触javascript是在实习的时候,通过这次的了解发现...

    laznrbfe 评论0 收藏0
  • JavaScript中的面向对象(object-oriented)编程

    摘要:对象在中,除了数字字符串布尔值这几个简单类型外,其他的都是对象。那么在函数对象中,这两个属性的有什么区别呢表示该函数对象的原型表示使用来执行该函数时这种函数一般成为构造函数,后面会讲解,新创建的对象的原型。这时的函数通常称为构造函数。。 本文原发于我的个人博客,经多次修改后发到sf上。本文仍在不断修改中,最新版请访问个人博客。 最近工作一直在用nodejs做开发,有了nodejs,...

    JerryZou 评论0 收藏0

发表评论

0条评论

Magicer

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<