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日

相关文章

  • Go语言实现简单的一个静态WEB服务器

    一、说明 本文将详细讲解如何使用Go语言实现一个简单的静态WEB服务器。 二、实现步骤 创建HTTP服务器 首先,我们要创建一个HTTP服务器。可以使用内置的net/http包来创建一个HTTP服务器,代码如下: package main import ( "net/http" ) func main() { http.Handle(&q…

    JavaScript 2023年5月28日
    00
  • jQuery EasyUI Layout实现tabs标签的实例

    首先,让我们简单了解一下 jQuery EasyUI Layout(以下简称EasyUI Layout)。它是基于 jQuery 的一个简单易用的布局插件,可以帮助我们快速实现页面布局的功能。 EasyUI Layout中有许多组件可以使用,其中包括我们今天要讲的 tabs 标签。 简单实例 下面是一个简单的 EasyUI Layout 配置实例。我们已经准…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript基于面向对象之创建对象(2)

    首先,你需要了解JavaScript中面向对象编程的概念。在JavaScript中,我们可以通过构造函数和原型链来实现面向对象编程。 第二篇文章“详解JavaScript基于面向对象之创建对象(2)”主要介绍了通过原型链来创建对象的方式。具体内容包括: 原型链是什么? 原型链是一种由多个对象组成的链式结构,这些对象通过原型链相互关联,在其中可以共享属性和方法…

    JavaScript 2023年5月27日
    00
  • 详解JavaScript的定时器

    下面是详解JavaScript的定时器的完整攻略: 什么是JavaScript定时器 JavaScript定时器是用来控制代码在指定的时间间隔内执行的方法。它们是非常有用的,可以用于制作动画、轮播图、定时更新时间等。JavaScript中有两种类型的定时器:setInterval()和setTimeout()。 setInterval() setInterv…

    JavaScript 2023年5月27日
    00
  • JSON.stringify 语法实例讲解

    下面是详细讲解“JSON.stringify 语法实例讲解”的完整攻略: 1.什么是JSON.stringify? JSON.stringify() 是一个JavaScript内置函数,可以将JavaScript的对象或数组转化成一个JSON字符串。 JSON.stringify()的语法如下: JSON.stringify(value[, replacer…

    JavaScript 2023年5月27日
    00
  • JavaScript调试方法

    JavaScript调试是每个JavaScript开发人员必须掌握的技能。在开发过程中,您可能会遇到各种问题,例如代码错误、内存泄漏、不平衡的负载等。调试是一种解决这些问题的方法,它可以帮助您找到并修复程序中的错误。 以下是JavaScript调试的完整攻略: 1.使用控制台 控制台是JavaScript调试中最有用的工具之一。您可以使用控制台来查看变量的值…

    Web开发基础 2023年3月30日
    00
  • js实现扫雷小程序的示例代码

    下面我将详细讲解一下如何使用JavaScript实现扫雷小程序的代码攻略。 1. 如何生成随机雷区 扫雷游戏中随机生成一个雷区是实现游戏的第一步。我们可以通过在二维数组中存储雷区,数组中具体的值表示该格子是否存储雷,如0表示无雷,1表示有雷。 示例代码: function generateRandomField(width, height, minesCou…

    JavaScript 2023年5月27日
    00
  • Java实战之用Spring开发条形码和验证码

    Java实战之用Spring开发条形码和验证码 为了保证网站的安全性和便捷性,很多网站都会使用验证码来防止机器人恶意攻击,而条形码也是在电子商务中常用的一种表示商品信息的方式。本文将详细介绍如何使用Spring框架开发实用的条形码和验证码功能。 准备工作 首先,为了使用Spring框架,需要引入Spring的相关依赖,如下所示: <dependenci…

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