javascript正则表达式基本使用

JS正则表达式验证表单 我们通常写的表单中,往往要判断用户填的是否符合要求,那么可以通过js的正则式来验证。js的正则式语法可参考菜鸟教程:JS正则表达式 下面是我的表单页面: 在点击下一步的时候,可以通过JS来控制下,如果不符合要求,则不进行跳转。下面代码中的变量名都是输入框所填项的英文,应该没歧义吧,我就不展示HTML部分了,直接给出js判断。 $(document).ready(function() { ... 阅读详情
  1. 定义和匹配方法的使用

    • 定义

      • 字面量定义

        let reg = /abc/;
        

        javascript脚本加载后,正则表达式字面量会被编译。当正则表达式保持不变时,使用此方法可获得更好的性能。

      • 构造函数定义

        let reg = new RegExp("abc");
        

        javascript脚本运行过程中,用构造函数创建的正则表达式会被编译。如果正则表达式将会改变,或者它将会从用户输入等来源动态产生,就需要用构造函数来创建正则表达式。

    • 匹配

      方法描述类型
      test测试是否匹配正则表达式,返回 true 或 falseRegExp方法
      match查找匹配,返回一个数组,在未匹配到时会返回 nullString方法
      replace查找匹配,并且使用替换字符串替换掉匹配到的子字符串String方法
      split使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中String方法
      exec查找匹配,返回一个数组,在未匹配到时会返回 nullRegExp方法
      matchAll查找匹配,返回一个迭代器(interator)String方法
      search测试匹配,返回匹配到的位置索引,在失败时返回-1String方法

      使用示例如下:

      //定义
      let reg = /d(b+)d/g;
      //或 let reg = new RegExp("d(b+)d", "g");
      
      //test方法使用
      let testResult = reg.test("cdbbdbsbz");
      console.log(testResult);  //true
      
      //match方法使用
      let str = "cdbbdbsbz"
      let matchResult = str.match(reg);
      console.log(matchResult);  //Array["dbbd"]
      
      //replace方法使用
      let str = "cdbbdbsbz"
      let replaceResult = str.replace(reg,'x');
      console.log(replaceResult);  //cxbsbz
      
      //split方法使用
      let str = "cdbbdbsbz"
      let splitResult = str.split('');
      console.log(splitResult);  //["c", "d", "b", "b", "d", "b", "s", "b", "z"]
      
      //exec方法使用
      let execResult = reg.exec("cdbbdbsbz");
      console.log(execResult);  //Array["dbbd","bb"]
      
      //matchAll方法使用
      let str = "cdbbdbsbz"
      let matchAllResult = str.matchAll(reg);
      console.log(...matchAllResult);  //Array["dbbd","bb"]
      
      //search方法使用
      let str = "cdbbdbsbz"
      let searchResult = str.search(reg);
      console.log(searchResult);  //1
      
  2. 基础知识

    • 元字符

      字符说明
      .除换行符以外的任意字符
      \w字母、数字或下划线
      \s空白字符(包括空格、制表符\t或\v、换页符\f和换行符\n)
      \d数字
      \b单词的开始或结束
      ^字符串的开始
      $字符串的结束
    • 重复限定符

      语法说明
      *重复零次或更多次
      +重复一次或更多次
      ?重复零次或一次
      {n}重复n次
      {n,}重复n次或更多次
      {n,m}重复n到m次
    • 断言

      字符说明
      x(?=y)正向先行断言,匹配x仅仅当x后面跟着y
      (?<=y)x正向后行断言,匹配x仅当x前面是y
      x(?!y)负向先行断言,当x后面跟着y不匹配x
      (?<!y)x负向后行断言,仅当x前面是y不匹配x
    • 反义

      字符说明
      \W非字母、数字或下划线
      \S非空白字符
      \D非数字字符
      \B不是单词开头和结束
      [^X]除了x以外的任意字符
    • 其他

      符号说明
      ()分组
      \转义
      |或
      &与
      [0-9]数字0-9
      [A-Z]大写字母A-Z
      [a-z]小写字母a-z
      [\u4e00-\u9fa5]中文字符
      [^\x00-\xff]双字节字符
    • 正则表达式标志

    标志说明
    g全局搜索
    i不区分大小写搜索
    m多行搜索
    s允许.匹配换行符
    u使用Unicode编码的形式进行匹配
    y执行“粘性”搜索,匹配从目标字符串的当期位置开始,可以使用y标志
  3. 前端常用正则表达式

    传送门

ECB oracle——attack 基于ECB oracle的攻击方案前言什么是ECB方案步骤1.确定块大小和明文大小2.暴力破解求明文脚本代码 前言 参考文章:Breaking ECB by prepending your own message. 环境地址:ECB oracle 什么是ECB 分组密码中AES的一种模式(其他还有:CBC、ECB、CTR、OCF、CFB)如图每一块加密是分开的。 方案步骤 1.确定块大小和明文大小 先用一个字符"a"去encrypt返回32个字节的数据(64位16进制)依次用"aa",“aaa”…去en 阅读详情

相关推荐

从ADS到Origin:高效绘制负载牵引Smith圆图的完整指南

本文提供了一份从ADS导出负载牵引数据并在Origin中绘制专业Smith圆图的完整指南。详细介绍了数据导出、导入、关键的数据解释步骤,以及高效处理多组曲线的技巧,帮助射频工程师快速生成用于报告和论文的出版级图表。

tgb3456789的博客 1135

JavaScript正则表达式语法及使用

本文总结了正则表达式的语法,告诉大家应该如何去定义和使用正则表达式。

qq_36625820的博客 2366

静态时序分析Static Timing Analysis1——STA概述、标准工艺库、时钟、IO约束的建立

简要介绍STA和标准工艺库内容,对时钟,IO等进行约束的指令介绍,PVT

qq_42135020的博客 7537

JavaScript之正则表达式的使用方法详细介绍

首先必须说明的是,这类文章(js正则表达式)在c站或者整个it类论坛是很多人写过的,而我认为我这篇的不同之处在于更加“小白”化,这也与我一贯的风格有关吧。 关于JavaScript正则表达式,其他的文章大多一上来就太过激进,不利于初学者学习(我当粗就是这么被劝退的),这也是我为什么要坚持写这篇文章,希望小白在看了这篇文章后,不管能不能完全掌握JavaScript正则表达式,但至少对JavaScript正则表达式能有一个比较深刻的印象吧。

跳探戈的小龙虾的博客 2万+

RagFlow 文档解析

RAGFlow 的设计哲学是“高质量输入,高质量输出”,它通过提供可解释性和可控性的生成结果,让用户能够信任并依赖于系统提供的答案。

weixin_43008312的博客 3999

使用 MATLAB/Simulink 构建一个基于FOC控制的PMSM矢量控制仿真模型

本教程详细介绍了基于Simulink的永磁同步电机(PMSM)磁场定向控制(FOC)仿真建模过程。主要内容包括:PMSM电机参数设置、Clarke/Park变换模块设计、电流环PID控制器构建、SVPWM调制实现等关键步骤。教程提供了完整的建模流程、参数配置建议和仿真调试方法,并给出了PID整定技巧和进阶优化方向。通过该模型,可深入理解PMSM矢量控制原理,掌握高性能电机控制系统的建模技术,为伺服系统、电动汽车驱动等应用领域提供仿真基础。教程还推荐了使用PIDTuner工具进行参数优化,并提出了加入负载扰动

amy_mhd的博客 643

js正则表达式使用详解

function Animal (name, age) { this.name = name this.age = age } Animal.prototype = { getName () { return this.name }, getAge () { return this.age } } const animal = new Animal(‘小黄’, 3) console.log(animal) // Animal {name: “小黄”, age: 3} console.log(animal.p

风如也的博客 9951

分享一个完整的KANO问卷(包含正反问题和选项设置)

本文介绍了KANO模型问卷的设计与应用,用于评估功能需求优先级。问卷包含基本信息、功能评估(正反问题设计)、界面评估及开放问题,选项定义明确(如"非常喜欢"到"很不喜欢")。数据清洗规则包括剔除矛盾回答和注意力检验。通过量化编码和矩阵分析,将需求分为魅力型、期望型、必备型等类别。示例数据显示健康监测为必备型(72%),电子围栏为期望型(45%),适老化改造为无差异型(38%)。该模型为产品决策提供客观量化依据。

从技术实践立足,从项目管理方法论延伸思考 1794

JavaScript正则表达式的使用详解

在前面分组的讲解中,我们知道括号匹配到了aaa,但我们如何用变量的表示这个aaa呢,这个就是命名的作用命名采用?的形式,写在要定义的内容前面,当不能写在开头,如/?/是不合法的。可以通过括号规避错误,如/(?)///通过命名捕获分组 let pattern3 = / (?'aaab','aaa','aaa',index: 2,这个例子可以看到patt匹配到了’aaa’,如果不想让圆括号分组的子表达式生成数字引用,那么可以不用(和)分组,而是开头用(?:,结尾用)。

yang45310的专栏 2492

Odoo 入门 | 什么是 Odoo?

Odoo是一套全球开源的ERP/CRM系统,最初的名字为TinyERP,08年5月之后称之为OpenERP,之后又改为Odoo。

洛阳泰山的博客 6207

基于matlab的阈值分割的车牌定位识别系统

车牌自动识别模块是现代社会智能交通系统(ITS)的重要组成部分,是图像处理和模式识别技术研究的热点,具有非常广泛的应用。车牌识别主要包括以下三个主要步骤:车牌区域定位、车牌字符分割、车牌字符识别。本案例通过对采集的车牌图像进行灰度变换、边缘检测、腐蚀及平滑等过程进行车牌图像预处理,并由此得到一种基于车牌颜色纹理特征的车牌定位方法,最终实现了车牌区域定位。车牌字符分割是为了方便后续对车牌字符进行匹配,从而对车牌进行识别。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 967

JS正则表达式的运用

预定义类是某些常见模式的简写方式,具体内容看下表。其中匹配单个字符没/表达式/g的都是从左往右第一个匹配到接下来都不再匹配字符含义匹配除"\n"外的任何单个字符\d匹配所有0~9之间的任意一个数字,相当于[0-9]\D匹配所有0~9以外的字符,相当于[^0-9](这里的^不在//中所以不是边界符的意思)\w匹配任意的字母、数字和下划线,相当于[a-zA-Z0-9]\W匹配除所有字母、数字和下划线以外的字符,相当于[^a-zA-Z0-9]\s。

bachelores的博客 1152

AI Agent开发第82课-手把手教你把paddleocr-vl做成mcp使其在DIFY里运行

本文详解如何将国产顶尖多模态 OCR 模型 PaddleOCR-VL 封装为标准 MCP(Model Calling Protocol)服务,并通过自研的 HTTP-based MCP Client 接入 Dify 1.10,实现 AI Agent 在对话中自动识别并调用 OCR 能力。该方案已在某头部保险公司真实业务流程中落地,使用了当前最先进的“Agentic AI 原生”设计思想。

打造全国最全的AI Agent开发知识领域的博客 1624

【JS】JavaScript正则表达式基础

目录一、正则表达式二、字符串使用正则表达式三、常用例子 一、正则表达式 关于正则表达式,我在另一篇博客记录过:正则表达式 二、字符串使用正则表达式 三、常用例子

小绵杨 2208

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

常用js正则表达式 Javascript正则表达式实战手册

最近做了几个项目,发现正则表达式用得越来越多了。我个人的习惯是,能通过查手册获取的东西绝不死记硬背,虽然大多数技术网站都搜罗了一堆Javascript正则表达式的用法,但我还是想整理一份更有实战意义的手册。说白了就是,如果以后需要用到正则表达式,直接过来复制粘贴就行啦!我会尽量把排版做的漂亮一点,便于大家提高开发效率。前面是Javascript正则表达式的简明用法,实战内容请跳到最后一节。   ...

xh601的博客 5308

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

javascript(js)正则表达式基本用法

1.什么是正则表达式 Regular Expression使用单个字符串来描述、匹配一系列某个句法规则的字符串---按照某种规则去匹配符合条件的字符串 正则表达式应用场景 1.在IDE中使用正则表达式处理规则复杂的字符串查找、替换需求 2.在JavaScript程序设计中使用正则表达式处理字符串 3.在其他语言中 **推荐一个可视化正则表达式网站:http://regexper.com

on1y_rL的博客 633

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【JS】JavaScript正则表达式详细使用

目录1、描述字符范围 : [ ]2、选择匹配:| 在上一篇博客中,记录了js中正则表达式的简单使用:【JS】JavaScript正则表达式基础。这篇博客学习一下JavaScript中正则表达式的详细使用。 1、描述字符范围 : [ ] 在正则表达式语法中,方括号表示字符范围。在方括号中可以包含多个字符,表示匹配其中任意一个字符。如果多个字符的编码顺序是连续的,可以仅指定开头和结尾字符,省略中间字符,仅使用连字符~表示。如果在方括号内添加脱字符^前缀,还可以表示范围之外的字符。例如: [abc]:查找方括号内

小绵杨 1705

JS正则表达式介绍(JavaScript正则表达式)

JavaScript正则表达式是一种强大的文本处理工具,掌握其基本语法和高级技巧可以大幅提高文本处理效率。正则表达式由元字符、量词、分组等组成,通过合理组合这些元素,能够实现复杂的模式匹配需求。正确理解和使用标志(flags)可以让正则表达式匹配更精确、更高效,适应不同的文本处理需求。在实际应用中,需要注意正则表达式的可读性和性能问题,避免过于复杂的模式导致难以维护或性能下降。

Dontla的博客 1758

【JavaScript】一文了解JS的正则表达式

详解JavaScript中正则表达式

ztK63LrD的博客 2219

JS(JavaScript) 数据校验 正则表达式

正则表达式是一门独立的语言,有自己的语法,用来检测指定字符串是否符合特定的规则正则表达式就是用来定义规则的,全称为Regular ExpressionJavaScript中提供了RegExp对象,表示正则表达式创建正则表达式对象的方式有两种使用字面量定义举例//a是定义的匹配规则,i是忽略大小写//通过reg的test函数进行验证使用构造函数定义举例//定义正则表达式,注意这里的双斜杠中的内容不能以变量传入,只能直接写入//a是定义的匹配规则,i是忽略大小写。

感谢阅读 3323

【JS】javascript正则表达式的基本使用(JavaScript RegExp 对象)

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个特定规则的文本。

余浩的博客 1038

{JS}JavaScript使用正则表达式

导读:   正则表达式概述   在前面已经涉及了一些正则表达式的用法,现在将系统地学习正则表达式的语法和用途。正则表达式主要用于进行字符串的模式匹配,例如判断一个字符串是否符合指定格式等。例如在windows下搜索文件,可以用“*”或者“?”这样的通配符。在正则表达式的语法中,有更多这样的符号用于表示一个字符串的模式,表7.1列出了所有的特殊符号,它们也被称为元字符。   表7.1 正则表

sunfollowme的专栏 856

JavaScript使用正则表达式

正则表达式是被用来匹配字符串中的字符组合的模式。在JavaScript中,正则表达式也是对象。这种模式可以被用于RegExp的exec和test方法以及String的match、replace、search和split方法。本章介绍的是 Javascript 的正则表达...

chouchilei5210的博客 220

JS正则表达式基本语法与实例

匹配模式 i------------------------------------------------------------------ ignoreCase 忽略大小写 g------------------------------------------------------------------ global 全局匹配 m------------------------------------------------------------------ multiline 是否多行匹

ruienger的博客 173

【JS】JavaScript正则表达式

正则表达式 是一个描述字符模式的对象,JavaScript的RegExp类表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进行强大的模式匹配和文本检索与替换功能。JavaScript中的正则表达式用RegExp对象表示,可以使用RegExp()构造函数来创建RegExp对象,不过RegExp对象更多的是通过一种特殊的直接量语法来创建,正则表达式直接量定义为包含在一对斜线之间

Making Life Better. Making Others Better. 1367
上一篇: 微信小程序设置背景图片不显示问题解决方法
下一篇: 后台返回图片流,前端预览图片,解决方案
codezha
博客等级 码龄10年 28粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值