JavaScript 正则表达式(笔记)

yizhihongxing

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日

相关文章

  • 浅谈JS中this在各个场景下的指向

    让我们来详细讲解一下“浅谈JS中this在各个场景下的指向”。 1. this 介绍 在JavaScript中,this 指的是函数执行时所处的上下文对象。或者说,this 指的是调用该函数的对象。 this 可以在不同的环境下有不同的值,它的值取决于它所在的执行上下文。 2. this 在各个场景下的指向 2.1 在全局作用域下 在全局作用域下执行 thi…

    JavaScript 2023年6月10日
    00
  • JS 创建对象的模式实例小结

    下面是关于“JS 创建对象的模式实例小结”的完整攻略,其中包含两个示例说明: JS 创建对象的模式实例小结 在 JavaScript 中,创建对象有多种模式,不同的模式适用于不同的场景和需求。本文将对常见的四种创建对象的模式做一个简单介绍和小结,方便读者选择合适的模式进行对象创建。 一、工厂模式 工厂模式通过工厂方法创建对象,将创建对象的过程封装在一个函数中…

    JavaScript 2023年5月27日
    00
  • JavaScript中英文字符长度统计方法示例【按照中文占2个字符】

    当统计JavaScript字符串长度时,需要注意中文和英文字符的不同处理方式,因为中文字符在Unicode编码中占两个字符的位置,而英文字符只占一个字符位置。 下面介绍几种方法来实现JavaScript中英文字符长度的统计。 方法一:正则表达式 使用正则表达式对中英文字符进行匹配,累加中文字符的个数,即可得到该字符串的长度。 function length(…

    JavaScript 2023年5月28日
    00
  • js获得当前系统日期时间的方法

    当需要获取当前系统日期和时间的时候,可以使用JavaScript内置的Date对象。下面是使用Date对象获取当前时间的方法。 方法一:使用内置方法 可以通过巧妙地使用Date对象中的方法实现获取当前时间。代码如下: const now = new Date(); const year = now.getFullYear(); const month = n…

    JavaScript 2023年5月27日
    00
  • JavaScript结合Canvas绘画画运动小球

    JavaScript结合Canvas绘画画运动小球的攻略如下: 准备工作 在绘制运动小球之前,我们需要做一些准备工作。 创建一个HTML页面,并在页面中添加一个canvas元素。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &lt…

    JavaScript 2023年6月10日
    00
  • 深入学习jQuery Validate表单验证(二)

    深入学习jQuery Validate表单验证(二) 在上一篇文章中,我们已经了解了如何使用jQuery Validate库进行基本的表单验证。在本篇文章中,我们将进一步学习该库的高级用法。 一、使用自定义规则 除了内置的验证规则之外,我们还可以创建自定义的规则。通过 $.validator.addMethod() 函数,我们可以创建自己的验证规则。 例如,…

    JavaScript 2023年6月10日
    00
  • asp.net 设置GridView的选中行

    当我们在使用ASP.NET开发Web应用程序时,经常会用到GridView控件来显示数据。在GridView中选中某一行并进行操作,是在Web开发中常见的需求。在这里,我将向您介绍一种完整的方法来实现在ASP.NET中设置GridView的选中行。该方法以C#语言为例进行示范。 1. 设置GridView的选中行 对于设置GridView的选中行,我们可以通…

    JavaScript 2023年6月11日
    00
  • JavaScript CSS优雅实现网页多主题风格换肤功能详解

    JavaScript CSS优雅实现网页多主题风格换肤功能详解 什么是多主题风格换肤? 多主题风格换肤是指让用户可以在网页中自行选择不同的样式主题,以达到更好的用户体验和用户喜爱的效果。这种功能广泛运用在网站的日间模式与夜间模式之间的切换。 如何实现多主题风格换肤? 实现多主题风格换肤需要掌握两个关键技能: CSS变量 JavaScript应用CSS类 CS…

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