JavaScript高级程序设计(第3版)学习笔记12 js正则表达式

下面是详细的攻略:

JavaScript高级程序设计(第3版)学习笔记12 js正则表达式

简介

本篇学习笔记介绍JavaScript正则表达式的基础知识,包括正则表达式的定义、创建、元字符、模式修饰符、贪婪与非贪婪匹配、匹配位置等知识点。

正则表达式的定义

正则表达式是一种用来匹配字符串模式的方法,它由一个或多个字符和特殊字符组成,表示一种模式,用于与字符串进行匹配。在JavaScript中,正则表达式是一个对象,由RegExp构造函数实例化而来。

创建正则表达式的两种方式

在JS中可以使用两种方式来创建正则表达式:

  1. 使用字面量方式创建:var pattern = /正则表达式/模式修饰符
  2. 使用RegExp构造函数创建:var pattern = new RegExp('正则表达式', '模式修饰符')

其中模式修饰符有以下几种:

  • g:全局匹配
  • i:不区分大小写
  • m:多行匹配
  • s:允许点(.)匹配换行符
  • u:Unicode匹配
  • y:执行“粘性”搜索,匹配从目标字符串的当前位置开始的字符串

元字符

正则表达式中有许多特殊字符,它们被称为“元字符”,用来构建模式。以下是一些常用的元字符:

  • ^:匹配输入的开始位置
  • $:匹配输入的结束位置
  • .:匹配除换行符(\n、\r)之外的任意单个字符
  • []:定义一个字符集合
  • [^]:定义除了这个字符集合之外的任意单个字符
  • ?:匹配前面的字符零次或一次(非贪婪)
  • *:匹配前面的字符零次或多次(贪婪)
  • +:匹配前面的字符一次或多次(贪婪)
  • {n}:匹配前面的字符n次
  • {n,m}:匹配前面的字符n到m次

正则表达式示例

下面是两个正则表达式示例,用来检查输入的字符串是否为有效邮箱和URL地址:

// 邮箱正则表达式
var emailPattern = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i;

// URL地址正则表达式
var urlPattern = /^(https?|ftp):\/\/[^\s/$.?#][^\s]*$/i;

// 检测邮箱地址
if (emailPattern.test('example@example.com')) {
  console.log('合法的邮箱地址');
}

// 检测URL地址
if (urlPattern.test('http://www.example.com')) {
  console.log('合法的URL地址');
}

以上代码中,emailPatternurlPattern分别是邮箱地址和URL地址的正则表达式,test()方法用来检测输入的字符串是否匹配这个正则表达式,如果匹配,则返回true,否则返回false

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript高级程序设计(第3版)学习笔记12 js正则表达式 - Python技术站

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

相关文章

  • javascript函数以及基础写法100多条实用整理

    JavaScript函数是一段可以被反复调用执行的代码,这种代码的主要作用是完成一个独立的功能。JavaScript函数具有很高的可重用性和灵活性,常被用来封装一些特定的处理逻辑以便于在需要的时候调用。接下来将为大家介绍JavaScript函数的基础写法,包括参数、返回值、作用域、闭包等内容。 Function基础写法 无参函数 无参函数即不接受任何参数的函…

    JavaScript 2023年5月18日
    00
  • javascript面向对象之定义成员方法实例分析

    JavaScript面向对象之定义成员方法实例分析 在JavaScript中,可以使用面向对象的思想来编写代码,其中定义成员方法是非常常见的操作。本文将详细讲解如何定义成员方法以及如何使用。 什么是成员方法 成员方法是一种在类或对象中定义的函数。它们可以访问类或对象的数据和其他方法,并能够执行特定的操作。 如何定义成员方法 在JavaScript中,可以通过…

    JavaScript 2023年5月27日
    00
  • JS简单获取当前年月日星期的方法示例

    下面为你详细讲解“JS简单获取当前年月日星期的方法示例”的完整攻略。 1. 获取当前年月日 要获取当前年月日,可以使用JavaScript提供的Date对象。 1.1 获取当前日期 const now = new Date(); // 创建一个Date对象 const year = now.getFullYear(); // 年 const month = …

    JavaScript 2023年5月27日
    00
  • js属性对象的hasOwnProperty方法的使用

    js对象中的属性可以分为两类,一类是对象自身定义的属性,另一类是从原型链中继承而来的属性。js属性对象的hasOwnProperty()方法用于判断一个属性是否是对象自身定义的属性,其用法如下: 对象.hasOwnProperty(属性名称) 其中,对象为需要检查的对象,属性名称是需要检查的属性,如果该属性是对象自身定义的属性,则返回true,否则返回fal…

    JavaScript 2023年5月27日
    00
  • ES6模板字符串和标签模板的应用实例分析

    下面是关于 “ES6模板字符串和标签模板的应用实例分析” 的完整攻略。 ES6模板字符串 ES6模板字符串是一种新的字符串类型,用反引号 (`) 包裹字符串,可以使用 ${} 语法插入变量和表达式。它们也可以跨越多行而不需要添加额外的转义字符。 下面是一个示例,使用ES6模板字符串构建HTML模板: const name = ‘John’; const ag…

    JavaScript 2023年5月28日
    00
  • JavaScript中的值类型详细介绍

    JavaScript中的值类型,又称为基本数据类型,共有六种:数字(Number)、字符串(String)、布尔值(Boolean)、空(Null)、未定义(Undefined)和符号(Symbol)。在本文中,我们将详细介绍每种类型的特点和用法。 数字(Number) 数字类型代表着数值,包括整数和浮点数。JavaScript使用的是双精度浮点数格式,即N…

    JavaScript 2023年5月28日
    00
  • 前端token中4个存储位置的优缺点说明

    前端Token是指存储在前端网页中的用来标识用户身份的令牌,一般用于用户登录、验证和权限控制等方面。前端Token可以存在多个存储位置中,通常有四种:Cookie、Web Storage、IndexedDB、Memory。 以下是关于这四个存储位置的优缺点说明: Cookie Cookie是HTTP协议中常用的一种存储方式,可以存放在客户端的浏览器中,也可以…

    JavaScript 2023年6月11日
    00
  • jQuery实现图像旋转动画效果

    下面是“jQuery实现图像旋转动画效果”的完整攻略: 1. 引入jQuery库 首先需要在html文件中引入jQuery库,可以通过以下方式进行引入: <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script&…

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