IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> js - 正则表达式 -> 正文阅读

[JavaScript知识库]js - 正则表达式

js - 正则表达式

一、简介

1.1 概述

正则表达式
        1、创建正则表达式
            -语法1:var 变量 = new RegExp("正则表达式", "匹配模式")
            -语法2:var 变量 = /正则表达式/匹配模式
            -使用typeof检查正则对象,会返回object
        2、正则表达式的方法
            1)test()
                -可以用来检查一个字符串是否符合正则表达式的规则,如果符合就返回true,不符合就返回false
                -语法:正则表达式对象.test(字符串)
            2)
        3、匹配模式
            1)i 忽略大小写
            2)g 全局匹配模式
        4、语法
            1)|        表示或
            2)[]       里面的内容也是或的关系
            3)[a-z]    表示a-z之间的任意小写字母
            4)[A-Z]    表示A-Z之间的任意大写字母
            5)[A-z]    表示任意字母
            6)[0-9]    表示0-9之间的任意数字
            7)[^ ]     表示除了什么以外的
            8).        表示任意字符
        5、量词:设置内容出现的次数
            1)?        出现0或1次
            2)+        至少出现1次
            3)*        出现任意次(包括0次)
            4){n}      出现n次
            5){n, m}   出现n-m次
            6){n, }    至少出现n次
        6、开头结尾
            1)^        以什么开头
            2)$        以什么结尾
        7、转义字符
            1)\.       .
            2)\\        \
            3)\?        ?
            4)\+        +
        8、元字符
            1)\w       任意字母,数字,下划线
            2)\W       除了字母、数字、下划线
            3)\d       任意的数字
            4)\D       除了数字
            5)\s       空格
            6)\S       除了空格
            7)\b       单词边界
            8)\B       除了单词边界

1.2 实例

<script>

             let reg1 = new RegExp("a");  // 检查一个字符串中是否含有a
             console.log(reg1.test("anc"))

             let reg2 = /[abc]/i;
             console.log(reg2.test("anc"))

             // 检查一个字符串中是否含有abc、adc、aec
             let reg3 = /a[bde]c/

             let reg4 = /a{3}/ // a连续出现3次

             let reg5 = /(ab){3}/  // ab连续出现3次

             let reg6 = /^a$/
             console.log(reg6.test("aa"));
             console.log(reg6.test("a"));

             /* 创建一个正则表达式,判断一个字符串是否是一个合法的手机号
                1、手机号第一位以1开头
                2、第二位3-9
                3、三位以后任意数字9个
             */
             let reg7 = /^1[3-9][0-9]{9}$/

            // 去掉字符串开头结尾的空格
            let str = "     abc   def          ";
            //去掉开头的空格
           // str = str.replace(/^\s*/, "");
            //去掉结尾的空格
            //str = str.replace(/\s*$/, "")
            //去掉开头结尾的空格
            str = str.replace(/^\s* | \s*$/g, "")
            console.log(str.length);

            //电子邮件的正则
            /*
                第一部分:任意字母数字下划线,后可以跟 . ,. 后跟着任意字母下划线
                第二部分:@
                第三部分:任意字母数字
                第四部分:.任意字母,2-5位
                第五部分(可选):.任意字母,2-5位
            */
             let reg8 = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/
             
         </script>

二、字符串和正则

2.1 概述

1、split()
            -可以将一个字符串拆分成一个数组
            -可以传递一个正则表达式作为参数,这样将会根据正则表达式进行拆分字符串
            -split默认进行全局匹配,即使没有说明是全局匹配模式
2、search()
            -可以搜索字符串中是否含有指定内容
            -如果搜索到指定内容,则返回第一次出现的索引,否则返回-1
            -可以传递一个正则表达式作为参数,然后会根据正则表达式去检索字符串
            -search只会查找第一个,不会进行全局查找,即使设置了全局匹配模式
3、match()
            -可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
            -默认情况下,match只会找到第一个符合要求的内容,找到以后就会停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
            -match会将匹配到的内容放入到数组中
4、replace()
            -可以将字符串中指定的内容替换为新的内容
            -第一个参数为被替换的内容(可以接受一个正则表达式作为参数);第二个参数为新的内容
            -默认只会替换第一个

2.2 实例

<script>

            // 将字符串以字母进行分割
            let str1 = "1a2b3c4d5e6f7";
            let arr1 = str1.split(/[A-z]/)
            console.log(arr1);

            // 搜索字符串中是否含有abc或adc或aec
            let str2 = "helloabdaefadabc,dacaec";
            let res2 = str2.search(/a[bde]c/);
            console.log(res2);

            // 将字符串中的字母全部提取出来,存放在数组中
            let res3 = str1.match(/[A-z]/g);
            console.log(res3);

            // 将字符串中的字母用@_@来替代
            let res4 = str1.replace(/[A-z]/g, '@_@');
            console.log(res4);
             
        </script>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:21:48  更:2022-05-11 16:24:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:44:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码