JS正则表达式常见函数与用法小结

yizhihongxing

JS正则表达式常见函数与用法小结

一、正则表达式基础

1.1 基本语法

JS 的正则表达式使用反斜杠(backslash)来表示元字符,比如\d表示匹配数字字符,\w表示匹配任意字母数字字符,\s表示匹配空白字符等。

1.2 匹配模式

  • i:忽略大小写
  • g:全局匹配(即匹配完一次继续匹配下一次)
  • m:多行匹配模式

1.3 常见元字符

  • .:匹配除了换行符以外的任意一个字符
  • []:匹配方括号内的任意一个字符
  • |:或者
  • \:转义字符
  • ^:以什么开头
  • $:以什么结尾
  • \d:数字字符
  • \w:任意字母数字字符
  • \s:空白字符
  • \b:单词边界

二、常见函数与用法

2.1. test()

用正则表达式测试一个字符串是否匹配。该方法返回一个布尔值。

const str = 'hello world';
const pattern = /world/;
console.log(pattern.test(str)); // true

2.2. exec()

用正则表达式测试一个字符串是否匹配,并返回匹配结果。该方法返回一个数组,第0项为正则表达式匹配到的字符串,后面是正则表达式匹配分组的结果。

const str = 'hello world';
const pattern = /world/;
console.log(pattern.exec(str)); // ['world', index: 6, input: 'hello world', groups: undefined]

2.3. match()

在一个字符串中查找与正则表达式匹配的子串,并返回一个数组,数组的所有元素都是与正则表达式匹配的字符串。

const str = 'hello world';
const pattern = /l/g;
console.log(str.match(pattern)); // ['l', 'l', 'l']

2.4. replace()

用一个新字符串替换所有匹配到的字符串。

const str = 'JavaScript is the best programming language';
const pattern = /JavaScript/;
const newStr = str.replace(pattern, 'Java');
console.log(newStr); // 'Java is the best programming language'

2.5. search()

查找字符串中第一个与正则表达式匹配的子串的位置。该方法返回一个整数,表示匹配到的字符串的位置,如果没有匹配到则返回-1。

const str = 'hello world';
const pattern = /world/;
console.log(str.search(pattern)); // 6

三、示例说明

3.1. 检查密码强度

一个强密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,可以通过正则表达式检查密码是否符合要求。

function checkPassword(password) {
  const pattern = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}$/;
  return pattern.test(password);
}

console.log(checkPassword('abc123!')); // false
console.log(checkPassword('ABc123!')); // true

3.2. 格式化电话号码

将电话号码格式化为xxx-xxx-xxxx的形式,可以使用正则表达式的replace()函数。

function formatPhoneNumber(phone) {
  const pattern = /(\d{3})(\d{3})(\d{4})/;
  return phone.replace(pattern, '$1-$2-$3');
}

console.log(formatPhoneNumber('1234567890')); // '123-456-7890'

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS正则表达式常见函数与用法小结 - Python技术站

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

相关文章

  • 详解小程序中h5页面onShow实现及跨页面通信方案

    下面是详解小程序中h5页面onShow实现及跨页面通信方案的攻略: 简介 小程序中如果需要在一个页面中加载H5页面,需要使用<web-view>组件,而这个组件和小程序的原生页面有所不同,其中onLoad和onReady两个生命周期函数会在H5页面加载时触发,并且在H5页面显示的过程中不会再次调用,因此无法监听页面的刷新、退出等操作。而小程序原生…

    JavaScript 2023年6月11日
    00
  • jQuery实现连续动画效果实例分析

    以下是“jQuery实现连续动画效果实例分析”的完整攻略: 1. 概述 在网页中运用动画效果能够提高网页的用户体验,增加用户的互动性。而jQuery作为一款流行的JavaScript库,其丰富的动画效果函数能够方便快捷地实现不同的页面动画效果。 本文将介绍如何使用jQuery实现连续动画效果的方法及示例,旨在帮助读者更好地运用jQuery,打造多样化的网页效…

    JavaScript 2023年6月10日
    00
  • 前端HTTP发POST请求携带参数与后端接口接收参数的实现

    下面是详细讲解“前端HTTP发POST请求携带参数与后端接口接收参数的实现”的完整攻略。 一、前端HTTP发POST请求携带参数的实现 1. 使用XMLHttpRequest XMLHttpRequest是前端与服务器进行数据交互最常用的方式。要发送带有参数的POST请求,需要设置请求头和请求体。请求体是以字符串形式发送给服务器的,一般将参数转换成JSON或…

    JavaScript 2023年5月19日
    00
  • 详解Nginx服务器中的Socket切分

    详解Nginx服务器中的Socket切分 本文将详细介绍Nginx服务器中的Socket切分机制,包括其作用、实现原理、应用场景和示例说明,以帮助读者更好地理解和应用。 作用 Nginx服务器中的Socket切分是一项优化技术,旨在提高服务器性能和稳定性。具体来说,它可以将一个完整的Socket连接切分成多个子连接,将流量分散到多个进程或线程中处理,从而减轻…

    JavaScript 2023年5月28日
    00
  • Vue中设置登录验证拦截功能的思路详解

    下面我将详细介绍“Vue中设置登录验证拦截功能的思路详解”的完整攻略。 1. 登录验证拦截的基本原理 在Vue项目中实现登录验证拦截的基本原理是使用Vue Router的导航守卫(Navigation Guards)功能。导航守卫可以用来在路由变化前获取用户信息,进行权限控制,从而实现路由的拦截。导航守卫有三种类型:全局导航、路由独享守卫和组件内的守卫。 在…

    JavaScript 2023年6月11日
    00
  • 深入理解vue的使用

    深入理解Vue的使用 Vue是一款轻量级、易上手的JavaScript框架,它具有数据双向绑定、组件化、虚拟DOM等功能,被广泛应用于前端开发中。本攻略旨在深入理解Vue的使用,包含以下几个方面的内容: Vue实例的创建与生命周期 数据双向绑定与计算属性 组件化与动态组件 父子组件通信 插槽的使用 vue-router的使用 Vue实例的创建与生命周期 Vu…

    JavaScript 2023年6月11日
    00
  • JavaScript实现大文件上传的示例代码

    让我为您详细讲解JavaScript实现大文件上传的完整攻略。 1. 概述 在网页上传大文件时,为了提高用户体验,通常会采用分片上传的方式,即将大文件分为若干个小块逐个上传,上传成功之后再将这些小块合并成一个完整的文件。而在实现分片上传时,JavaScript是必不可少的。 2. 实现步骤 下面是一份JavaScript实现大文件上传的示例代码,包括以下步骤…

    JavaScript 2023年5月27日
    00
  • 详解用js代码触发dom事件的实现方案

    下面是详解用JS代码触发DOM事件的实现方案的攻略。 什么是DOM事件? DOM事件,是当用户与网页交互时产生的事件。例如,当用户点击鼠标、滚动页面或按下键盘时,都会触发DOM事件。 如何用JS代码触发DOM事件? 我们可以使用JS代码来模拟用户与网页交互,从而触发DOM事件。以下是三种JS代码触发DOM事件的实现方案: 利用dispatchEvent方法 …

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