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日

相关文章

  • JS实现汉字与Unicode码相互转换的方法详解

    JS实现汉字与Unicode码相互转换的方法详解 在JavaScript中,可以使用charCodeAt()方法将汉字转换为Unicode编码,也可以使用fromCharCode()方法将Unicode编码转换为汉字。下面详细介绍这两个方法的使用方法。 将汉字转换为Unicode编码 function stringToUnicode(str) { var u…

    JavaScript 2023年5月19日
    00
  • JS一个简单的注册页面实例

    下面为大家详细说明“JS一个简单的注册页面实例”的完整攻略。 1. 准备工作 在实现一个简单的注册页面之前,我们需要先准备好以下工作: HTML布局代码:包括表单、输入框、按钮等。 CSS样式表:为页面元素添加样式和布局。 JS代码:实现页面交互,如表单验证等。 2. HTML布局代码 首先使用 HTML 建立一个空白网页,然后在 body 标签内添加以下代…

    JavaScript 2023年6月10日
    00
  • javascript Range对象跨浏览器常用操作第1/2页

    下面是“JavaScript Range对象跨浏览器常用操作”完整攻略。 JavaScript Range对象跨浏览器常用操作 Range对象概述 Range对象代表文档中的一个区域,通常被用于选择文本或修改文档的样式。Range对象是DOM Level 2中新引入的,但是在各个浏览器中实现不一致,所以需要跨浏览器的操作和使用。 获取Range对象 在获取R…

    JavaScript 2023年5月27日
    00
  • JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)

    获取鼠标移动时的坐标是前端开发中常用的操作。随着浏览器的不断升级和发展,现在的浏览器大多都能支持 mousemove 事件和相应的 clientX、clientY 属性来获取鼠标的坐标。不过对于兼容老版本IE(IE8及以下)的浏览器,我们需要使用其他的方式来获取鼠标坐标。 以下是 JavaScript 获取鼠标移动时的坐标的完整攻略: 1. 监听mousem…

    JavaScript 2023年6月11日
    00
  • 异步安全加载javascript文件的方法

    异步安全加载JavaScript文件是指在保证网页性能和用户体验的同时,确保JavaScript代码能够无误地执行。下面是异步安全加载JavaScript文件的方法: 1. 异步加载JavaScript文件 异步加载JavaScript文件可以使用HTML5中的script标签,并且设置async属性。这样浏览器会异步加载脚本,不会阻塞网页的渲染,同时脚本在…

    JavaScript 2023年5月27日
    00
  • JavaScript加密解密7种方法总结分析

    JavaScript加密解密7种方法总结分析 JavaScript加密解密是前端工程师必须掌握的技能之一,本文总结了7种常见的JavaScript加密解密方法,并且提供了详细的代码示例。 1. Base64编码与解码 Base64是一种将二进制数据编码为文本的编码规则,其不仅可以用于前端加密解密,也可以用于图片、音频等二进制数据的传输。具体的编码和解码方法如…

    JavaScript 2023年5月19日
    00
  • Javascript delete 引用类型对象

    删除引用类型对象在Javascript中是一项常见操作,但需要注意这种操作不会真正删除对象,而是断开了引用对象的所有指针,并在垃圾回收机制自动回收这些对象。下面是对delete操作的详细解释。 什么是引用类型对象? 在Javascript中,对象是由键值对组成的无序集合。引用类型是Javascript中一个非常重要的概念,它允许我们通过指针引用和操作内存中的…

    JavaScript 2023年5月27日
    00
  • js apply/call/caller/callee/bind使用方法与区别分析

    JS中的apply、call、caller、callee以及bind是函数对象的5个方法,它们可以帮助我们更加灵活地调用函数、改变函数的this指向以及传递参数。本文将详细讲解它们的使用方法和区别分析。 apply和call方法 apply和call方法用于调用一个函数,并且可以指定函数的this指向,同时还可以将参数以数组或者类数组的形式传递给函数。 ap…

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