Js 正则表达式知识汇总

yizhihongxing

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简单实现自动生成表格功能示例

    下面我详细讲解“js简单实现自动生成表格功能”的完整攻略。 思路分析 在实现自动生成表格的功能之前,我们需要考虑以下几个问题: 在什么情况下需要自动生成表格? 在很多情况下,我们需要将一些数据展示在网页上,同时这些数据可能十分庞大,用表格的形式展示更加直观且易于阅读。 自动生成表格需要哪些数据? 自动生成表格需要一个二维数组,表示表格中的每一个单元格的内容。…

    JavaScript 2023年5月28日
    00
  • JS统计Flash被网友点击过的代码

    要统计Flash被网友点击过的次数,需要使用JavaScript监听Flash的点击事件并发送统计数据。以下是完整攻略: 步骤一:检测Flash是否存在 在HTML页面中,使用 object 或 embed 标签嵌入Flash对象,需要先判断Flash是否存在。 <div id="flashContainer"> <ob…

    JavaScript 2023年6月11日
    00
  • 关于js typeof 与 instanceof 判断数据类型区别及开发使用

    关于 JS typeof 与 instanceof 判断数据类型的区别及使用攻略 在 JavaScript 开发中,判断数据类型是一项非常重要的操作,正因为这个原因,我们需要了解如何使用 typeof 和 instanceof 来判断不同类型的数据。 typeof 操作符 typeof 操作符是 JavaScript 中最常用的类型判断工具之一,它可以返回一…

    JavaScript 2023年6月10日
    00
  • fastclick插件导致日期(input[type=”date”])控件无法被触发该如何解决

    首先,需要梳理一下问题的背景和现象: 背景:当网页中使用了fastclick插件时 现象:用户在点击日期选择控件时,控件无法弹出日期选择框,无法选择日期。 这是因为fastclick插件会阻止浏览器默认的双击事件(有些日期选择控件在点击两次时才能弹出)和移动端的300ms延迟,从而提升点击体验。然而这个插件的实现方式是,将点击事件改为tap事件,从而可能会对…

    JavaScript 2023年6月11日
    00
  • 浅谈JavaScript暂时性死区与垃圾回收机制

    浅谈JavaScript暂时性死区与垃圾回收机制 什么是暂时性死区 暂时性死区(Temporal Dead Zone,TDZ)指在代码块中,在声明变量前使用该变量会造成ReferenceError的行为。 具体来说,在ES6之前,声明变量的方式有var和函数声明(function declaration),它们没有块级作用域,而是函数级作用域。 在以下代码中…

    JavaScript 2023年5月28日
    00
  • python迭代器与生成器详解

    Python迭代器与生成器详解 本文将介绍Python中的迭代器和生成器的基础知识、定义方法、实现方式、常见用法以及注意事项等方面内容。 什么是迭代器? 迭代器是Python中一种数据访问方式。迭代器是一个可以记住遍历位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有元素被访问完毕。迭代器只能往前遍历,不能后退。 Python的迭代器有两个基本的方法…

    JavaScript 2023年5月28日
    00
  • 详解JavaScript是如何验证URL的

    下面是关于 JavaScript 如何验证 URL 的详细讲解。 什么是 URL URL(Uniform Resource Locator,统一资源定位符)是指Internet上的标准资源的地址。URL由协议、主机名(有时包括端口号)、路径和查询组成。例如,https://www.example.com/blog?id=123 是一个 URL。 JavaSc…

    JavaScript 2023年6月10日
    00
  • 你有必要知道的10个JavaScript难点

    你有必要知道的10个JavaScript难点 1. 变量提升 JavaScript 中的变量提升是指 JS 引擎将变量声明提升到作用域的顶部,即在变量声明之前就能访问该变量。变量提升会造成变量值的不确定性,应该格外注意。 例如: x = 5; console.log(x); var x; 这个例子中,虽然变量 x 的值在声明之前被赋值为 5,但是在变量声明之…

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