js正则表达式基本语法(精粹)

下面是关于JS正则表达式基本语法的完整攻略。

JS正则表达式基本语法

正则表达式的定义

正则表达式(Regular Expression)是一种可以用于字符串匹配的规则,它可以帮助我们快速地从字符串中提取需要的信息。

正则表达式语法

在JS中,我们可以使用RegExp对象来创建正则表达式,其基本语法如下:

var regExp = new RegExp(pattern, flags);

其中,pattern是正则表达式的模式,可以是字符串或RegExp对象,flags是一个标志位,用于控制正则表达式的匹配方式,其取值如下:

  • i:表示忽略大小写
  • g:表示全局匹配
  • m:表示多行匹配

举个例子,我们可以用正则表达式搜索一个字符串中所有的数字。其中,模式是\d,意思是匹配任意一个数字字符:

var str = "123abc456";
var regExp = /\d/g;
var result = str.match(regExp);
console.log(result);

输出结果为[ '1', '2', '3', '4', '5', '6' ],表示将所有的数字字符都匹配出来了。

正则表达式常用语法

元字符

元字符是正则表达式中的一些特殊字符,用于匹配字符串中的一些特殊符号以及一些特定的字符。常用的元字符有:

  • .:匹配任意一个字符
  • \d:匹配一个数字字符
  • \D:匹配一个非数字字符
  • \s:匹配一个空白字符(空格、制表符等)
  • \S:匹配一个非空白字符
  • \w:匹配一个单词字符(字母、数字、下划线)
  • \W:匹配一个非单词字符

举个例子,在一个字符串中查找所有的数字和下划线,可以使用以下正则表达式:

var str = "hello_123_world";
var regExp = /[\d_]/g;
var result = str.match(regExp);
console.log(result);

输出结果为[ '1', '2', '3', '_' ],表示数字和下划线都被匹配出来了。

量词

量词用于匹配一个或多个重复的字符或者子表达式。常用的量词有:

  • *:匹配前面的表达式0次或多次
  • +:匹配前面的表达式1次或多次
  • ?:匹配前面的表达式0次或1次
  • {n}:匹配前面的表达式恰好出现n次
  • {n,}:匹配前面的表达式至少出现n次
  • {n,m}:匹配前面的表达式至少出现n次,最多出现m次

举个例子,在一个字符串中查找所有的字母,可以使用以下正则表达式:

var str = "hello123world";
var regExp = /[a-zA-Z]+/g;
var result = str.match(regExp);
console.log(result);

输出结果为[ 'hello', 'world' ],表示所有的字母都被匹配出来了。

示例1

判断一个字符串是否为手机号格式:

function isMobilePhone(str) {
  var regExp = /^1[3456789]\d{9}$/;
  return regExp.test(str);
}

console.log(isMobilePhone("13512345678")); // true
console.log(isMobilePhone("12345678901")); // false

在上面的例子中,正则表达式/^1[3456789]\d{9}$/表示:

  • ^:表示开始位置
  • 1:表示字符串的第一个字符必须为数字1
  • [3456789]:表示第二个字符是3456789之间的任意一个数字
  • \d{9}:表示其后紧跟着9个数字字符
  • $:表示结束位置

因此,正则表达式可以精准地匹配手机号格式。

示例2

使用正则表达式对一个银行卡号进行脱敏处理:

function desensitization(str) {
  var regExp = /^(\d{4})(\d*)(\d{4})$/;
  return str.replace(regExp, function(match, p1, p2, p3) {
    return p1 + p2.replace(/\d/g, "*") + p3;
  });
}

console.log(desensitization("6228480402564890018")); // 6228***********0018

在上面的例子中,正则表达式/^(\d{4})(\d*)(\d{4})$/表示:

  • ^:表示开始位置
  • (\d{4}):表示匹配前4个数字字符,并把它们放入第一个捕获组中
  • (\d*):表示匹配0个或多个数字字符,并把它们放入第二个捕获组中
  • (\d{4}):表示匹配后4个数字字符,并把它们放入第三个捕获组中
  • $:表示结束位置

同时,我们使用了str.replace方法来替换字符串中的一部分字符,其中,第二个参数使用了一个匿名函数,用于把第二个捕获组中的所有数字字符都替换为星号*

总结

正则表达式是JS中非常重要的一部分,它可以帮助我们快速地从字符串中提取数据,并在输入框的校验中起到重要作用。掌握正则表达式的基本语法和常用技巧,可以更好地完成我们的编程任务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js正则表达式基本语法(精粹) - Python技术站

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

相关文章

  • javascript 获取url参数的正则表达式(用来获取某个参数值)

    获取URL参数一直是前端开发的一个常见操作,JavaScript提供了多种方式来实现获取URL参数的功能,其中正则表达式是较为灵活且简单的一种方式。下面是获取URL参数的正则表达式及相应的代码示例: 正则表达式 以下正则表达式可以用来获取某个参数值: function getQueryString(name) { var reg = new RegExp(‘…

    JavaScript 2023年6月10日
    00
  • JS.GetAllChild(element,deep,condition)使用介绍

    JS.GetAllChild(element,deep,condition)使用介绍 JS.GetAllChild(element,deep,condition) 是一个用来获取指定元素所有符合条件的子元素的函数。下面将详细介绍该函数的使用方式及注意事项。 语法 JS.GetAllChild(element, deep, condition); 参数: el…

    JavaScript 2023年6月10日
    00
  • js实现动态添加上传文件页面

    实现动态添加上传文件页面,可以通过以下几个步骤完成: HTML部分 首先,在HTML文件中,提供一个用于点击后触发上传文件对话框的按钮,并准备一个div容器,用于动态添加上传文件表单: <button id="addFileBtn">添加上传文件</button> <div id="fileForm…

    JavaScript 2023年5月27日
    00
  • 详解tween.js的使用教程

    详解tween.js的使用教程 什么是tween.js? tween.js是一款简单易用的JavaScript补间动画库,它可以让Web开发者很方便地创建和控制复杂的动画效果。它的特点是功能全面、易于使用,支持各种类型的动画插值器和缓动函数,以及灵活的回调函数和参数调整。此外,它还支持并行和序列动画,实现动画效果的细粒度控制。 如何使用tween.js? 1…

    JavaScript 2023年6月11日
    00
  • JavaScript重定向URL参数的两种方法小结

    下面是JavaScript重定向URL参数的两种方法小结的详细攻略。 简介 在开发Web应用程序时,我们可能需要将用户重定向到另一个页面,并传递一些数据。这些数据可以作为URL参数传递。JavaScript可以轻松地重定向到另一个URL,并将参数添加到它上面。 本文将介绍两种JavaScript重定向URL参数的方法,分别是通过window.location…

    JavaScript 2023年6月11日
    00
  • 用js编写的简单的计算器代码程序

    为了编写一个简单的计算器程序,我们可采用HTML、CSS、JavaScript等技术。下面将分步骤讲解如何制作一个基于JS编写的简易计算器程序。 步骤一:创建基本的HTML代码 我们需要创建一个空白的HTML文件,并添加必要的元素,例如标题,文本输入框和按钮。通过以下HTML代码可以实现: <!DOCTYPE html> <html>…

    JavaScript 2023年5月27日
    00
  • 浅谈javascript六种数据类型以及特殊注意点

    浅谈javascript六种数据类型以及特殊注意点 Javascript是一种弱类型的编程语言,它的数据类型主要包括六种:number、string、boolean、null、undefined以及object。在本文中,我们将介绍这些数据类型及其用法,并提出一些特殊的注意点,希望对您有所帮助。 Number Number数据类型主要表示数字,它可以用整数或…

    JavaScript 2023年5月28日
    00
  • ASP.NET中常用输出JS脚本的类实例

    在ASP.NET中,常用输出JS脚本的类实例包括以下两个: Page.ClientScript:这个类实例是在ASP.NET中最常用的,它允许在页面的任何位置输出JS脚本。可以使用它的方法RegisterStartupScript来向页面中注册一个JS脚本块,然后在页面渲染后自动将其输出到网页上。示例如下: <asp:Button ID="b…

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