javascript正则表达式和字符串RegExp and String(二)

JavaScript正则表达式和字符串RegExp and String(二)

1. RegExp 对象

RegExp 对象是 JavaScript 的内置对象,用于支持正则表达式。

1.1 RegExp 对象的创建

  • 字面量方式: var patt = /pattern/flags;
  • 构造函数方式: var patt = new RegExp(pattern, flags);

其中,pattern为正则表达式模式,flags为标志。常用的标志有:i - 忽略大小写;g - 全局匹配;m - 多行匹配。

1.2 运算符

  • test() 方法:返回值为布尔类型,用于检测一个字符串是否匹配某个正则表达式。示例:
var patt = /e/;
patt.test("hello");  // true
  • exec() 方法:返回值为数组,如果字符串与正则表达式匹配,则返回匹配的数组;否则返回 null。示例:
var patt = /a(b)c/;
var result = patt.exec("abcdefg");
console.log(result[0]); // abc
console.log(result[1]); // b

1.3 修饰符

正则表达式修饰符可以改变搜索模式。

常用的修饰符有:

  • i:表示不区分大小写。
  • g:表示查找所有匹配,而不仅仅查找第一个匹配。
  • m:表示多行查找模式。

2. String 对象

String 对象用于处理字符串。

2.1 字符串方法

  • search() 方法:用于检索字符串中指定的子字符串并返回子字符串的位置。示例:
var str = "Visit Javatpoint!";
var n = str.search(/javatpoint/i);
console.log(n); // 6
  • match() 方法:用于在字符串中寻找一个或多个与正则表达式匹配的字符串,并返回一个包含匹配结果的数组。示例:
var str = "The rain in SPAIN stays mainly in the plain"; 
var patt = /ain/g;
var arr = str.match(patt); 
console.log(arr); // ["ain", "ain", "ain"]
  • replace() 方法:用于替换字符串中指定的子字符串。示例:
var str = "Hello World!";
var patt = /world/i;
var newstr = str.replace(patt, "JavaScript");
console.log(newstr); // "Hello JavaScript!"

2.2 转义字符

在正则表达式中,有一些字符有特殊含义,需要使用转义字符来匹配这些字符。

常用的转义字符有:

  • \d:匹配数字。
  • \D:匹配非数字字符。
  • \w:匹配字母、数字和下划线。
  • \W:匹配除了字母、数字和下划线以外的字符。
  • \s:匹配空格、制表符和换行符。
  • \S:匹配除了空格、制表符和换行符以外的字符。

3. 示例说明

3.1 验证手机号码

function validatePhone(number) {
  var patt = /^1[3-9]\d{9}$/;
  return patt.test(number);
}
  • /^1[3-9]\d{9}$/:表示必须以数字1开头,第二位为3-9之间的数字,后面跟着9位数字。例如:13912345678。

3.2 格式化金额

function formatMoney(money) {
  var str = money.toString();
  var patt = /(\d)(?=(\d{3})+$)/g;
  return str.replace(patt, "$1,");
}
  • /(\d)(?=(\d{3})+$)/g:使用正则表达式匹配每三位数字,将它们的后面字符串替换成“,”。例如:formatMoney(123456789) 返回 123,456,789。

至此,我们已经了解了 JavaScript 正则表达式和字符串的基础知识。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript正则表达式和字符串RegExp and String(二) - Python技术站

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

相关文章

  • JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句

    下面是关于JavaScript高级程序设计第七章“ECMAScript中的语句”的详细讲解: 章节概述 第七章主要介绍了ECMAScript中各种语句的语法和作用,包括条件语句、循环语句、跳转语句等。同时,本章还介绍了一些与语句相关的关键字和运算符,以及一些列出了语句特点的表格。 条件语句 if语句 if语句是ECMAScript中最常用的条件语句,其基本语…

    JavaScript 2023年5月27日
    00
  • JavaScript 页面编码与浏览器类型判断代码

    让我来详细讲解一下”JavaScript页面编码与浏览器类型判断代码”的完整攻略。 页面编码 在网页开发中,为了确保浏览器能正确地解读和显示我们写出的HTML和CSS代码,我们需要在网页中指定一种字符编码方式。常见的字符编码方式包括UTF-8, GB2312, GBK等。 我们可以通过在网页中加入如下的meta标签来指定网页使用的编码方式。 <meta…

    JavaScript 2023年5月20日
    00
  • javascript中bind函数的作用实例介绍

    JavaScript中bind函数的作用实例介绍 在 JavaScript 中,可以使用 bind() 方法来将一个函数绑定到一个特定的上下文,从而返回一个新的函数,该函数中 this 关键字被绑定到指定的对象上。bind() 方法有很多用途,例如: 将方法绑定到对象上 创建有默认参数的函数 创建函数的柯里化版本 实现延迟执行函数 方法绑定示例 方法绑定是使…

    JavaScript 2023年6月11日
    00
  • react-router JS 控制路由跳转实例

    下面我将为您详细讲解”react-router JS 控制路由跳转实例”的攻略步骤。 步骤一:安装react-router 在项目中安装react-router-dom依赖包,react-router-dom是基于React的DOM封装,提供了一些跟浏览器url地址相关的组件。 npm install react-router-dom –save 步骤二:…

    JavaScript 2023年6月11日
    00
  • 深入CSS3 动画效果的总结详解

    既然你要了解“深入CSS3 动画效果的总结详解”的完整攻略,我会给你详细的讲解。 深入CSS3 动画效果的总结详解 CSS3 是 CSS 技术的一个重要版本,它引入了很多新的功能和特性,其中包括强大的动画效果功能。CSS3 动画效果可以不需要 JavaScript 就能够实现各种各样的动画效果,并且使用非常灵活和方便。 下面给出一些深入 CSS3 动画效果的…

    JavaScript 2023年6月11日
    00
  • JS将秒换成时分秒实现代码

    下面是JS将秒换成时分秒实现代码的完整攻略: 1. 获取秒数 首先,我们需要获取要转换的秒数,可以通过以下方式获取: let seconds = 12345; // 需要转换的秒数 2. 计算时分秒 通过以下代码可以将秒数转换为时分秒的形式: let hours = Math.floor(seconds / 3600); // 计算小时数 let minut…

    JavaScript 2023年5月27日
    00
  • 用原生JavaScript实现jQuery的$.getJSON的解决方法

    使用原生JavaScript实现jQuery的$.getJSON需要了解Ajax技术和JSON格式数据的处理。下面是实现该功能的完整攻略: 使用原生JavaScript发送Ajax请求获取JSON数据 function getJSON(url, successCallback, errorCallback) { const xhr = new XMLHttp…

    JavaScript 2023年5月27日
    00
  • JavaScript加密解密7种方法总结分析

    JavaScript加密解密7种方法总结分析 JavaScript加密解密是前端工程师必须掌握的技能之一,本文总结了7种常见的JavaScript加密解密方法,并且提供了详细的代码示例。 1. Base64编码与解码 Base64是一种将二进制数据编码为文本的编码规则,其不仅可以用于前端加密解密,也可以用于图片、音频等二进制数据的传输。具体的编码和解码方法如…

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