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中,代码的执行过程涉及到了预编译和执行两个重要步骤。本篇攻略将会详细讲解这两步骤的具体内容,以及他们的执行顺序和影响。 预编译 在JavaScript中,当一段代码被执行之前,它会先进行预编译,即将所有变量的声明提前到当前作用域的顶部,也称为变量提升。这个过程是在代码执行之前自动完成的。 变量提…

    JavaScript 2023年5月27日
    00
  • js 工具类

    /*是否带有小数*/ function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/; return objRegExp.test(strValue); } /*校验是否中文名称组成 */ function ischina(str) { var reg=/^[\u4E00-\u9FA5]{2,4}$/;…

    JavaScript 2023年4月25日
    00
  • JavaScript 选中文字并响应获取的实现代码

    以下是JavaScript选中文字并响应获取的实现攻略: 1. 使用window.getSelection()方法获取选中文字 在JavaScript中,我们可以使用window.getSelection()方法来获得页面中当前选中的文字。该方法返回一个 Selection 对象,它表示用户选择的文本范围。我们可以根据需要对该对象进行各种操作,例如获取选中的…

    JavaScript 2023年6月11日
    00
  • 原生JS实现简单的无缝自动轮播效果

    下面是“原生JS实现简单无缝自动轮播效果”的完整攻略。 确定HTML结构 在实现轮播效果之前,我们需要先确定HTML结构。一般来说,轮播图的容器是一个固定宽度的盒子,里面包含多张图片,我们可以使用ul和li标签来实现这个容器和图片的列表。 HTML结构可以如下所示: <div class="slider"> <ul&gt…

    JavaScript 2023年6月11日
    00
  • JavaScript Date 对象

    以下是关于JavaScript Date对象的完整攻略。 JavaScript Date对象 JavaScript Date对象用于处理日期和时间。它可以存储从1970年1月1日00:00:00 UTC协调世界时)开始的毫秒数,并提供了一组方法来处理日期和时间。 下面是一个使用Date对象的示例: var now = new Date(); console.…

    JavaScript 2023年5月11日
    00
  • 关于js对textarea换行符的处理方法浅析

    我将详细讲解一下“关于JS对textarea换行符的处理方法浅析”的完整攻略。 标题 问题背景 在文本编辑区域输入内容时,用户通常使用回车键(Enter键)来换行。但是,在传输数据的过程中,回车键会被转换成一些特殊字符,如\r\n或\n等,在不同的操作系统和浏览器中,其对应的特殊字符可能也不同。那么,在使用JS对textarea的输入内容进行处理时,我们需要…

    JavaScript 2023年6月11日
    00
  • js中的闭包实例展示

    让我来详细讲解一下”js中的闭包实例展示”的攻略。 什么是闭包? 闭包是指有权访问外部函数作用域中变量的函数,即使外部函数已经执行完毕。简单来说,就是内部函数使用了外部函数的变量或者参数,并且这个内部函数可以在外部函数执行结束之后被执行。 闭包的特点 内部函数可以访问外部函数的变量,而外部函数不能访问内部函数的变量。 闭包可以更新其引用的外部变量,并且该更新…

    JavaScript 2023年6月10日
    00
  • 深入理解JavaScript中的语法和代码结构

    深入理解JavaScript中的语法和代码结构是成为一个优秀的JavaScript开发者必须掌握的基本技能之一。下面,我将为大家详细讲解如何来攻略这一难点。 学习语法 理解JavaScript的语法是学习JavaScript的关键。以下是一些建议,建议按照这些步骤进行学习: 1. 确立基础概念 在开始学习语法之前,必须要先掌握JavaScript中的基本概念…

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