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日

相关文章

  • Treeview动态添加用户控件传值和取值的实例代码

    接下来我会为您详细讲解“Treeview动态添加用户控件传值和取值的实例代码”的完整攻略。 问题背景 在.NET Forms应用中,有时需要在TreeView中动态添加用户控件,并传递值。而在取值时,需要将用户控件的值根据TreeView结构进行解析,因此需要一定的编程经验和技巧。 实现思路 我们可以在TreeView的节点上存储自定义对象,并将自定义对象包…

    JavaScript 2023年6月11日
    00
  • js delete 用法(删除对象属性及变量)

    下面我来详细讲解 “js delete 用法(删除对象属性及变量)” 的完整攻略。 1. 什么是 delete delete 是 JavaScript 的一个关键字,用于从对象中删除一个属性或者从数组中删除一个元素。注意,delete 只会删除属性/元素,而不会影响对象/数组的长度或属性列表。此外,delete 操作不会影响对象的原型链,也不会删除属性上的 …

    JavaScript 2023年5月27日
    00
  • JavaScript的事件机制详解

    JavaScript的事件机制详解 事件机制是 JavaScript 重要的一部分,它使得 Web 应用得以用户交互和响应。在本文中,我将详细讲解 JavaScript 的事件机制,包括事件模型、事件流以及事件捕获和冒泡。 事件模型 JavaScript 事件模型是一种基于事件触发的编程模型。当用户操作网页中的元素(如按钮、文本输入框等)时,会触发事件,Ja…

    JavaScript 2023年5月28日
    00
  • js前端传json后台接收‘‘被转为quot的问题解决

    当前端使用 JavaScript 将 JSON 对象发送到后台时,有时可能会遇到 JSON 字符串中的双引号被转换为 " 实体的问题,这可能会导致后端无法正确解析 JSON 字符串的情况。下面是解决这个问题的攻略: 1. 从前端开始 首先,确保前端代码正确地生成了 JSON 字符串,不应该使用任何 HTML 实体序列化。例如,以下代码可能会…

    JavaScript 2023年5月27日
    00
  • 详解JavaScript中的Unescape()和String() 函数

    详解JavaScript中的Unescape()和String() 函数 Unescape() 函数 Unescape() 是JavaScript中的一个函数,它将一个字符串转换为一个未经编码的字符串。在URL编码中,URL中的特殊字符将被替换为百分号(%)后跟两个十六进制数字。Unescape()函数能够将这些URL编码的特殊字符解码回原始字符。例如,%2…

    JavaScript 2023年5月19日
    00
  • 7道关于JS this的面试题,你能答对几个

    7道关于JS this的面试题 问题1: this指向谁? this关键字是在函数执行时被解析的。它指向一个对象,这个对象是在调用函数时传入的。或者说,在调用函数时,this的值由函数的调用方式来决定。例如: function person() { this.name = "Tom"; } var a = new person(); co…

    JavaScript 2023年6月10日
    00
  • js window对象属性和方法相关资料整理

    关于JavaScript中的window对象,我们可以分别从属性和方法两个方面进行讲解: window对象属性 窗口大小: innerWidth/innerHeight: 获取窗口的内部宽度和高度(不包含边框、工具栏等部分)。 outerWidth/outerHeight:获取窗口的外部宽度和高度(包含边框、工具栏等部分)。 地址栏和历史记录: locati…

    JavaScript 2023年5月27日
    00
  • JavaScript实现网页带动画返回顶部的方法详解

    JavaScript实现网页带动画返回顶部的方法详解 当我们浏览很长的网页时,我们会发现有时候需要快速回到页面的顶部。通常,我们可以直接点击页面的滚动条或者键盘的 Home 键,但这种方式比较突兀。另外,很多时候我们需要一个能够流畅返回顶部的效果。在这里,我们将详细讲解使用JavaScript实现网页带动画返回顶部的方法。 实现步骤 实现网页带动画返回顶部的…

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