js正则相关知识点专题

JS正则相关知识点专题

一、正则表达式的概念

正则表达式是对字符串操作的一种逻辑公式,是进行字符串匹配、查找、替换等操作的一种工具。JS中使用RegExp对象来表示正则表达式,可以通过构造函数或直接量来创建一个RegExp对象。

常用的正则表达式元字符有:

  • ^: 匹配字符串开头
  • $: 匹配字符串结尾
  • .: 匹配单个字符
  • *: 匹配前面的字符0或多次
  • +: 匹配前面的字符1或多次
  • ?: 匹配前面的字符0或1次
  • []: 匹配括号中任意一个字符
  • |: 匹配左右任意一个表达式
  • ():分组,可以改变操作优先级

二、正则表达式的使用

1. 通过字面量创建正则表达式

var reg = /abc/;

2. 通过RegExp构造函数创建正则表达式

var reg = new RegExp("abc");
var reg2 = new RegExp("abc", "i"); // 添加第二个参数 i,表示忽略大小写

3. 使用test()方法判断字符串是否符合正则

var reg = /abc/;
var str1 = "abc";
var str2 = "def";
console.log(reg.test(str1)); // true
console.log(reg.test(str2)); // false

4. 使用exec()方法获取匹配到的值

var reg = /abc/;
var str = "abcdeabc";
console.log(reg.exec(str)); // ["abc", index: 0, input: "abcdeabc", groups: undefined]

三、正则表达式必备方法

1. search()方法

search()方法返回字符串中匹配的第一个位置,如果没有找到匹配项,则返回-1

var str = "hello world";
console.log(str.search(/world/)); // 6
console.log(str.search(/word2/)); // -1

2. replace()方法

replace()方法用于替换字符串中符合正则表达式的字符,可接受两个参数,第一个参数是要被替换掉的字符,第二个参数是用来替换的字符。

var str = "hello world houxy";
console.log(str.replace(/hello/g, "hi")); // hi world houxy
console.log(str.replace(/h/g, "H")); // Hello world Houxy

3. match()方法

match()方法用于在字符串中匹配符合正则表达式的值,返回一个数组或null。注意,如果正则表达式不带g标志,则第一个匹配的位置是在结果数组的第一个元素。

var str = "hello world houxy";
console.log(str.match(/o/g)); // ["o", "o", "o"]
console.log(str.match(/he(.+)o/g)); // ["hello", "houxo"]

4. split()方法

split()方法用于将字符串分割成数组,接受一个参数,用于分割字符串的规则。

var str = "hello,world,houxy";
console.log(str.split(",")); // ["hello", "world", "houxy"]
console.log(str.split(/o/)); // ["hell", ",w", "rld, h", "uxy"]

四、示例

1. 判断邮箱格式是否正确

function isEmail(email) {
  var reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
  return reg.test(email);
}
console.log(isEmail("abc@163.com")); // true
console.log(isEmail("hello@world")); // false

2. 判断手机号格式是否正确

function isPhone(phone) {
  var reg = /^1[3-9]\d{9}$/;
  return reg.test(phone);
}
console.log(isPhone("13712345678")); // true
console.log(isPhone("1341234")); // false

五、总结

本文详细介绍了JS正则相关的知识点,包括正则表达式的概念、使用方法、必备方法以及两条示例说明,希望可以帮助读者更好地掌握JS正则表达式的使用方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js正则相关知识点专题 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript三大重点同步异步与作用域和闭包及原型和原型链详解

    一、同步异步 JavaScript代码的执行分为同步和异步两种方式。同步是指代码执行的顺序和书写顺序一致,代码执行时必须等待上一行执行完成,才执行下一行。异步是指代码执行的顺序和书写顺序不一致,可以在等待某些操作完成时执行其他代码,操作完成时再回调执行。 JavaScript的异步编程实现有两种方式:1. 回调函数2. Promise 其中Promise是回…

    JavaScript 2023年5月28日
    00
  • JavaScript函数模式详解

    JavaScript函数模式详解 JavaScript函数模式是JavaScript语言中最常用的设计模式之一,在前端工程开发中具有很高的实用价值。本文将详细介绍JavaScript函数模式的各种形式以及使用场景。 普通函数 JavaScript中最基本的函数形式是普通函数,使用function关键字定义。普通函数可以通过函数名调用,也可以作为参数传递给其他…

    JavaScript 2023年5月18日
    00
  • JS实现数组去重方法总结(六种方法)

    这里是JS实现数组去重方法总结(六种方法)的完整攻略。 一、方法一:利用ES6 Set特性去重 利用ES6新特性Set(集合)的特性,可以很方便地去重。 实现方法如下: let arr = [1, 2, 3, 4, 1]; let newArr = […new Set(arr)]; console.log(newArr); // [1, 2, 3, 4]…

    JavaScript 2023年5月27日
    00
  • JavaScript注入漏洞的原理及防范(详解)

    JavaScript注入漏洞的原理及防范(详解) 1. 原理 JavaScript注入漏洞,也称为XSS漏洞,指的是攻击者将恶意脚本注入到网页中,当用户访问这个页面时就会触发这个漏洞。XSS漏洞通常分为两种类型:反射型和存储型。 1.1 反射型XSS漏洞 反射型XSS漏洞,指的是攻击者将恶意参数注入到URL中,当用户在浏览器中访问这个URL时就会触发这个漏洞…

    JavaScript 2023年6月11日
    00
  • JavaScript高级程序设计 阅读笔记(二十) js错误处理

    当我们在编写 JavaScript 代码时,难免会出现错误,这时我们需要做出适当的处理。本篇阅读笔记将讲解 JavaScript 错误处理的相关知识。 错误处理相关术语 异常 在运行 JavaScript 的时候,一旦出现了错误,便会抛出一个异常。 try-catch 语句 为了避免程序出现异常而终止,我们可以使用 try-catch 语句来捕捉异常。try…

    JavaScript 2023年5月27日
    00
  • 第一个JavaScript程序

    1. 创建 HTML 文件 首先,我们需要为我们的 JavaScript 文件创建一个 HTML 文件。在你的代码编辑器中,创建一个新文件并将其保存为 index.html。然后输入以下代码: <!DOCTYPE html> <html> <head> <title>My First JavaScript Pr…

    Web开发基础 2023年3月30日
    00
  • 体验js中splice()的强大(插入、删除或替换数组的元素)

    下面详细讲解一下“体验js中splice()的强大(插入、删除或替换数组的元素)”的攻略: 1. 什么是splice() splice()是JavaScript中的一个数组方法,可以在数组中插入、删除或替换元素。它有三个参数,分别是: start:操作开始的索引位置; deleteCount:要删除的元素个数; items:要插入到数组中的元素。 其中,st…

    JavaScript 2023年5月27日
    00
  • javascript 判断一个对象为数组的方法

    判断一个对象是否为数组,通常可以使用 instanceof 运算符或 Array.isArray() 方法。接下来我将分别讲解这两种方法的用法以及示例说明。 使用 instanceof 运算符 当一个数组实例 Array 对象被创建时,它继承了 Array 构造函数的 prototype 上的属性和方法。因此,通过比较待判断的对象和 Array 构造函数的 …

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