当前位置: 首页 > news >正文

【JS重点知识05】正则表达式

本文章目标:学习正则表达式概念及语法,编写简单的正则表达式实现字符查找或检测;

一:正则表达式简介

1 什么是正则表达式

是用于匹配字符串中字符组合的模式。在JS中,正则表达式也是对象

2 正则表达式作用

  • 表单验证(匹配):用户名只能输入英文字母、数字或者下划线,昵称输入框中可以输入中文
  • 过滤敏感词(替换):过滤掉页面内容中的一些敏感词
  • 字符串中提取想要部分(提取)

二:语法格式:

分为两步:先定义正则表达式规则,再根据规则进行查找

1 定义正则表达式

const 变量名 = /表达式/

2 检索、判断是否匹配

(1)test()方法

用来判断确定的正则表达式与指定的字符串是否匹配。如果匹配成功返回true,没有匹配成功返回false

语法:
定义规则的变量名.test(被检测的字符串)

案例:

    const str = '前端加油'const reg = /前端/console.log(reg.test(str));//true

(2)exec()方法

在一个指定字符串中执行一个搜索匹配。如果匹配成功,该方法返回一个数组,否则返回null

语法:
建立的规则.exec(被检测的字符串)

案例:

    const str = '前端加油'const reg = /前端/// console.log(reg.test(str));console.log(reg.exec(str));

三:元字符

普通字符:

大多数字符仅能描述他们本身,称为普通字符。例如所有的字母和数字,以及汉字

也就是说,普通字符只能够匹配字符串中与它们相同的字符

元字符(特殊字符)

是一些具有特殊含义的字符,可以极大提高灵活性和强大的匹配功能

  • 比如,规定用户只能输入26个英文字母,普通字符要写abcdefg...
  • 元字符写法:[a-z]

元字符分类

边界符(表示位置,开头和结尾)

作用

用来提示字符所处的位置,主要有两个字符

^、$两个都出现在正则表达式定义的规则中,则表示精确匹配

量词(表示重复次数)

用来定义某个模式出现的次数

字符类

...未完待更

相关文章:

  • java基础练习题
  • Web前端与REST API:深度解析与实战指南
  • vue antdesgin table 动态表头动态数据示例
  • [AIGC] SpringBoot的自动配置解析
  • Faiss assertion ‘err == cudaSuccess‘ failed in void faiss::gpu:runL2Norm()
  • STM32/keil把多个c文件编译为静态库lib
  • C++的算法:拓扑排序的原理及应用
  • WWDC 2024前瞻:苹果如何用AI技术重塑iOS 18和Siri
  • VMware ESXi 8.0U2c macOS Unlocker OEM BIOS 集成网卡驱动 Marvell AQC 网卡定制版
  • dp+矩阵快速幂,CF551D. GukiZ and Binary Operations
  • 【数据分析基础】实验一 Python运算符、内置函数、序列基本用法
  • 什么时候用C而不用C++?
  • mysql当前状态分析(show status)
  • 吃星星(1.5)
  • 网页音频提取在线工具有哪些 网页音频提取在线工具下载
  • angular学习第一篇-----环境搭建
  • gf框架之分页模块(五) - 自定义分页
  • github指令
  • Javascript 原型链
  • JavaScript的使用你知道几种?(上)
  • Java的Interrupt与线程中断
  • Laravel5.4 Queues队列学习
  • opencv python Meanshift 和 Camshift
  • REST架构的思考
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 码农张的Bug人生 - 见面之礼
  • 实习面试笔记
  • 自动记录MySQL慢查询快照脚本
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 选择阿里云数据库HBase版十大理由
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • !$boo在php中什么意思,php前戏
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (不用互三)AI绘画工具应该如何选择
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (转)scrum常见工具列表
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • @31省区市高考时间表来了,祝考试成功
  • @DS 多数据源 + @Transactional(rollbackFor = Exception.class) 导致@DS 多数据源没法使用
  • @html.ActionLink的几种参数格式
  • @requestBody写与不写的情况
  • @RequestMapping 和 @GetMapping等子注解的区别及其用法
  • [ solr入门 ] - 利用solrJ进行检索
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [2016.7.test1] T2 偷天换日 [codevs 1163 访问艺术馆(类似)]
  • [Android View] 可绘制形状 (Shape Xml)
  • [android学习笔记]学习jni编程
  • [GN] 设计模式——面向对象设计原则概述
  • [iOS]内存分区
  • [jquery]this触发自身click事件,当前控件向上滑出