Js 正则表达式知识汇总

Js 正则表达式知识汇总

什么是正则表达式?

正则表达式是一种用来匹配字符串模式的工具,它由字符和特殊字符组成。在JavaScript中,可以使用RegExp对象来表示正则表达式模式。正则表达式可以用来在字符串中查找匹配的文本、替换文本、验证内容格式等。

正则表达式的语法

正则表达式语法很强大,要掌握所有的用法需要花费一定的时间和精力。下面是一些常见的元字符和语法:

  • /pattern/flags:表示正则表达式模式和标志的格式。模式是要匹配的文本模式,由一系列的字符、字符类或特殊字符组成。标志是一个可选的修饰符,可以改变模式的行为,例如大小写敏感、全局匹配等。
  • ^:表示文本的开头,放在模式的开头。
  • $:表示文本结尾,放在模式的末尾。
  • .:表示任意字符。
  • []:表示字符集,用来匹配方括号内的任意字符。
  • [^]:表示否定字符集,用来匹配方括号外的任意字符。
  • |:表示逻辑或,可以将多个模式组合在一起。
  • ():表示分组,可以将多个字符或模式组合在一起,并将它们视为一个整体。

正则表达式的应用

匹配文本

通过正则表达式可以轻松地匹配字符串文本,例如下面的代码将会找到所有以字母a开头的单词:

const str = 'Alice has a cat and a dog. Andy has an apple.';
const pattern = /\ba\w+/g;
const matches = str.match(pattern);
console.log(matches); // ['Alice', 'a', 'and', 'Andy', 'an']

这里的\b表示单词的边界,\w+表示一个或多个字母、数字或下划线。

替换文本

通过正则表达式可以轻松地替换字符串文本,例如下面的代码将会替换字符串中的abc为def:

const str = 'abcde abcd ab abc abcdefg';
const pattern = /abc/g;
const newStr = str.replace(pattern, 'def');
console.log(newStr); // 'defde defd de def defdefg'

验证内容格式

通过正则表达式可以轻松地验证表单输入框中的内容格式,例如下面的代码将会验证输入框中的内容是否为一个有效的邮箱地址:

const emailInput = document.querySelector('#email');
const pattern = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
emailInput.addEventListener('blur', () => {
  if (!pattern.test(emailInput.value)) {
    alert('请输入一个有效的邮箱地址');
  }
});

这里的正则表达式用来匹配一个合法的邮箱地址,由字母、数字、下划线、连字符和点号组成。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Js 正则表达式知识汇总 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 微信小程序 闭包写法详细介绍

    关于“微信小程序 闭包写法详细介绍”的攻略,我将按照以下的结构和内容进行详细讲解: 一、什么是闭包 闭包是JavaScript里的一个重要概念,它是指那些能够访问自由变量的函数。也就是说,闭包可以读取、修改函数内部的变量,并且这些变量在函数外部仍然可以被访问到。在实际的编程中,闭包通常被用来创建一些私有变量和私有方法,以实现封装的目的。 二、如何在微信小程序…

    JavaScript 2023年6月10日
    00
  • JavaScript内置日期、时间格式化时间实例代码

    让我来为您详细讲解一下 “JavaScript内置日期、时间格式化时间实例代码” 的完整攻略。 什么是日期、时间格式化? 格式化是指将一个变量的值以一定的格式输出。在 JavaScript 中,我们可以使用内置的 Date() 对象和相关方法进行日期、时间格式化。 如何使用内置日期、时间格式化实例代码? 获取当前时间 获取当前时间的方式有两种,分别是使用 n…

    JavaScript 2023年5月27日
    00
  • Ajax发送和接收二进制字节流数据的方法

    发送和接收二进制字节流数据是通过Ajax传输数据的一种常见方式。下面是一整套完整的Ajax发送和接收二进制字节流数据的攻略。 准备工作 在发送和接收二进制字节流数据之前,你需要先准备好以下工作: 确保你的Web服务器能够正确处理二进制数据请求。可以通过查看服务器的文档或者咨询服务器提供商来确认。 确定好要发送或接收的二进制数据的格式和编码方式。常见的二进制数…

    JavaScript 2023年6月11日
    00
  • 一次围绕setTimeout的前端面试经验分享

    一次围绕 setTimeout 的前端面试经验分享 问题 题目:实现一个函数 delay(fn, time),该函数接收一个函数和一个时间参数,返回一个新的函数,在调用这个新函数时,会在指定的时间之后执行传入的原函数。 思路:使用 setTimeout 函数来实现该功能。 代码 function delay(fn, time) { return functi…

    JavaScript 2023年6月10日
    00
  • JavaScript中检测数据类型的四种方法总结

    当我们书写JavaScript程序时,时常需要对不同的变量进行类型的检测。因为JavaScript中的变量是弱类型的,而且变量的类型也随时可以改变,所以正确地进行类型检测是非常重要的。接下来,我们将介绍JavaScript中检测数据类型的四种方法总结。 方法一:使用typeof操作符 JavaScript提供了一个typeof操作符,可以用来检测一个变量的类…

    JavaScript 2023年6月10日
    00
  • mockjs,json-server一起搭建前端通用的数据模拟框架教程

    搭建前端数据模拟框架可以帮助我们在开发前端页面时,模拟后端数据库返回的数据,提高开发效率。本文将详细讲解如何使用mockjs和json-server搭建前端通用的数据模拟框架。 1. 安装mockjs和json-server 首先,在项目根目录下安装mockjs和json-server: npm install mockjs json-server –sa…

    JavaScript 2023年5月27日
    00
  • 老生常谈JavaScript数组的用法

    老生常谈JavaScript数组的用法 什么是JavaScript数组 JavaScript中的数组是一种数据结构,用来存储一组数据。数组中的每个数据项都有一个索引值,从0开始计数,可以通过索引值来访问数组中的元素。 声明和初始化一个数组 声明一个数组需要使用[]符号,数组的元素之间使用,进行分隔,可以同时存储任何类型的数据。 示例代码: const arr…

    JavaScript 2023年5月18日
    00
  • 原生JavaScript实现刮刮乐

    关于“原生JavaScript实现刮刮乐”的攻略,我们可以按照以下步骤进行。 1. 准备工作 首先,我们需要在HTML文件中创建一个canvas元素,用于绘制刮去涂层后的图片。示例代码如下: <canvas id="scratch-card"></canvas> 接下来,我们需要准备两张图片。一张作为底部图片,一张…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部