JavaScript 正则表达式(笔记)

JavaScript 正则表达式(笔记)

什么是正则表达式?

  • 正则表达式是一种用于匹配文本规律的表达式。
  • 在 JavaScript 中,由 RegExp 对象来支持正则表达式的相关操作。

正则表达式语法

在 JavaScript 中,我们可以使用特殊字符来创建正则表达式模式。下面介绍一些基本语法。

字符组 []

字符组用于匹配多个字符中的任意一个。

示例:

// 匹配 a、b、c 中的任意一个字符
const pattern = /[abc]/;
console.log(pattern.test('a')); // true
console.log(pattern.test('d')); // false

元字符 .

元字符 . 匹配除了换行符以外的任意字符。

示例:

// 匹配任意字符
const pattern = /./;
console.log(pattern.test('a')); // true
console.log(pattern.test('\n')); // false

量词 {}

量词用于匹配出现次数,分为以下几种:

  • {n}:匹配恰好 n 次。
  • {n,m}:匹配最少 n 次,最多 m 次。
  • {n,}:匹配至少 n 次。

示例:

// 匹配 3 个数字
const pattern = /\d{3}/;
console.log(pattern.test('123')); // true
console.log(pattern.test('12')); // false

位置表示符 ^ 和 $

位置表示符用于匹配起始位置和结束位置。

  • ^:匹配输入的开始位置
  • $:匹配输入的结束位置

示例:

// 匹配以 a 开头的字符串
const pattern = /^a/;
console.log(pattern.test('abc')); // true
console.log(pattern.test('bcd')); // false

// 匹配以 z 结尾的字符串
const pattern = /z$/;
console.log(pattern.test('xyz')); // true
console.log(pattern.test('abc')); // false

正则表达式的方法

常用的正则表达式相关方法有:

  • RegExp.test():测试一个字符串是否匹配某个正则表达式。
  • RegExp.exec():执行一个正则表达式匹配,返回匹配结果数组。
  • String.match():与 RegExp.exec() 方法类似,返回一个匹配结果数组。
  • String.replace():使用一个指定的字符串或者函数来替换指定的值。
  • String.search():执行一个正则表达式匹配,返回匹配结果在字符串中的起始位置。
  • String.split():使用正则表达式进行分割字符串。

示例

验证手机号码

function isMobilePhone(val) {
  const pattern = /^1[3456789]\d{9}$/;
  return pattern.test(val);
}

console.log(isMobilePhone('13712345678')); // true
console.log(isMobilePhone('12345678901')); // false

提取 URL 中的参数

const url = 'https://www.example.com/search?q=javascript&page=2#result';

// 提取参数
const params = url.match(/(\w+)=(\w+)/g).map(match => match.split('=')).reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});

console.log(params); // { q: 'javascript', page: '2' }

以上就是 JavaScript 正则表达式的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 正则表达式(笔记) - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 使用Cookies保存网站历史浏览记录实例代码

    下面是使用 Cookies 保存网站历史浏览记录的完整攻略。 1. 需求分析 在网站上实现浏览记录的保存,主要的需求分析包括以下几点: 当用户浏览网站时,需要记录用户的浏览历史。 浏览历史需要以列表形式展示在网站上。 浏览历史需要随着用户的浏览动态更新。 浏览历史需要在用户关闭浏览器后依然能够保存。 用户进入网站时需要从 Cookies 中读取保存的浏览历史…

    JavaScript 2023年6月11日
    00
  • JavaScript模拟实现”双11″限时秒杀效果

    下面是“JavaScript模拟实现”双11″限时秒杀效果”的完整攻略。 步骤一:准备工作 首先,在页面中添加一个倒计时的 DOM 元素。 然后,在 JavaScript 中设置秒杀开始和结束的时间,并将其转换为 Date 对象。 var startTime = new Date(‘2021-11-11 00:00:00’).getTime(); // 秒杀…

    JavaScript 2023年6月11日
    00
  • JavaScript立即执行函数与函数劫持的作用

    JavaScript立即执行函数与函数劫持是常用的一些函数技巧,可以用来实现模块化编程、实现私有变量等功能。下面我会详细讲解这两个函数技巧的使用方法及其作用。 JavaScript立即执行函数的定义及作用 JavaScript立即执行函数是指在定义之后立即执行的函数。其基本语法为: (function() { // function body })(); 这…

    JavaScript 2023年5月27日
    00
  • jQuery.validate.js表单验证插件的使用代码详解

    那我就来详细讲解一下“jQuery.validate.js表单验证插件的使用代码详解”的攻略吧。 什么是jQuery.validate.js表单验证插件? jQuery.validate.js是一个jQuery的表单验证插件,它可以方便地实现表单输入内容的合法性检测和提示。 如何引入jQuery.validate.js? 在使用jQuery.validate…

    JavaScript 2023年6月10日
    00
  • js实现从数组里随机获取元素

    实现从数组里随机获取元素有以下几种方式: 方法一:使用Math.random() 我们可以利用Math.random()方法生成一个0到1的随机数,将其乘上数组长度再向下取整得到一个0到数组长度-1的随机整数,最后使用该随机整数获取数组对应的元素。下面是一个示例代码: const arr = [1, 2, 3, 4, 5]; const randomIdx …

    JavaScript 2023年5月27日
    00
  • JS实现的相册图片左右滚动完整实例

    下面是关于“JS实现的相册图片左右滚动完整实例”的完整攻略。 一、前提准备 在实现相册图片左右滚动之前,需要先准备好图片: 准备好需要展示的图片,推荐使用图片大小相似的图片,可以增加用户体验。 把所有图片用一个ul包起来,这样便于控制整体样式和布局。 设置好ul和li的基础样式,如ul的宽度为图片宽度总和,li的宽度为单张图片宽度。 二、实现 实现相册图片左…

    JavaScript 2023年5月28日
    00
  • 教你用js截取字符串开头、结尾及两字符串之间的内容

    教你用JS截取字符串开头、结尾及两字符串之间的内容 在JS中,截取字符串是非常常见的一个操作,本文将为大家介绍如何用JS截取字符串的操作,并提供两个示例。 一、截取字符串的基本用法 JS提供了substr和slice两种方法来截取字符串,不同的是它们的参数使用方式不同。 1. substr 它接受两个参数,第一个参数是开始截取的位置,第二个参数是截取的长度。…

    JavaScript 2023年5月28日
    00
  • javascript 添加和移除函数的通用方法

    在Javascript编程中,我们常常需要动态地添加或者移除函数,这是很常见的需求。而实现这样的功能,我们可以使用Javascript的内置方法,或者自定义方法来实现。下面我们将从两个方面来详细讲解Javascript添加和移除函数的通用方法。 方法一:使用内置方法实现添加和移除函数 在Javascript中,我们可以使用addEventListener()…

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