Javascript 正则表达式

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

1.介绍 

1.正则表达式是什么?

        是用于匹配字符串中字符组合的模式

2.正则表达式有什么作用?

  • 表单验证(匹配)

  • 过滤敏感词(替换)

  • 字符串中提取我们想要的部分(提取)

2.语法

1. 定义规则

2. 查找

正则表达式检测查找test方法和exec方法有什么区别?

1. test方法 用于判断是否有符合规则的字符串,返回的是布尔值 找到返回true,否则false

2. exec方法用于检索(查找)符合规则的字符串,找到返回数组,否则为 null

const str = '我们在学习前端,希望学习前端能高薪毕业'
// 正则表达式使用:
// 1. 定义规则
const reg = /前端/
// 2. test()是否匹配
console.log(reg.test(str))  // true
// 3. exec()
console.log(reg.exec(str))  // 返回数组

3.元字符

介绍:

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

Ø 比如,规定用户只能输入英文26个英文字母,普通字符的话 abcdefghijklm…..

Ø 但是换成元字符写法: [a-z]

分类:

  1. 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)
  2. 量词 (表示重复次数)
  3. 字符类 (比如 \d 表示 0~9)

1.边界符

正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符

  • ^ 表示匹配行首的文本(以谁开始)
  • $ 表示匹配行尾的文本(以谁结束)

如果 ^ 和 $ 在一起,表示必须是精确匹配。

console.log(/^哈/.test('哈')) // true
console.log(/^哈/.test('哈哈')) // true
console.log(/^哈/.test('二哈')) // flase
console.log(/^哈$/.test('哈')) // true  只有这种情况为true 否则全是false
console.log(/^哈$/.test('哈哈')) // false,只能有一个哈
console.log(/^哈$/.test('二哈')) // false

2.量词

量词用来 设定某个模式出现的次数

注意:量词 {n,m}  逗号左右两侧千万不能有空格

//  量词 * 类似 >=0 次
console.log(/^哈$/.test('哈')) // true
console.log(/^哈*$/.test('')) // true
console.log(/^哈*$/.test('哈')) // true
console.log(/^哈*$/.test('哈哈')) // true
console.log(/^哈*$/.test('二哈很傻')) //  false
console.log(/^哈*$/.test('哈很傻')) //  false
console.log(/^哈*$/.test('哈很哈')) // false
console.log('------------------')
//  量词 + 类似 >=1 次
console.log(/^哈$/.test('哈')) // true
console.log(/^哈+$/.test('')) // false
console.log(/^哈+$/.test('哈')) // true
console.log(/^哈+$/.test('哈哈')) // true
console.log(/^哈+$/.test('二哈很傻')) //  false
console.log(/^哈+$/.test('哈很傻')) //  false
console.log(/^哈+$/.test('哈很哈')) // false
//  量词 ? 类似  0 || 1
console.log(/^哈?$/.test('')) // true
console.log(/^哈?$/.test('哈')) // true
console.log(/^哈?$/.test('哈哈')) // true
console.log(/^哈?$/.test('二哈很傻')) //  false
console.log(/^哈?$/.test('哈很傻')) //  false
console.log(/^哈?$/.test('哈很哈')) // false
// 量词 {n} 写几,就必须出现几次
console.log(/^哈{4}$/.test('哈')) // f
console.log(/^哈{4}$/.test('哈哈')) // f
console.log(/^哈{4}$/.test('哈哈哈')) // f
console.log(/^哈{4}$/.test('哈哈哈哈')) // t
console.log(/^哈{4}$/.test('哈哈哈哈哈')) // f
console.log(/^哈{4}$/.test('哈哈哈哈哈哈')) // f
console.log('------------------')
// 量词 {n,}   >=n
console.log(/^哈{4,}$/.test('哈')) // f
console.log(/^哈{4,}$/.test('哈哈')) // f
console.log(/^哈{4,}$/.test('哈哈哈')) // f
console.log(/^哈{4,}$/.test('哈哈哈哈')) // t
console.log(/^哈{4,}$/.test('哈哈哈哈哈')) // t
console.log(/^哈{4,}$/.test('哈哈哈哈哈哈')) // 
console.log('------------------')
// 量词 {n,m}  逗号左右两侧千万不能有空格    >=n && <= m
console.log(/^哈{4,6}$/.test('哈')) // f
console.log(/^哈{4,6}$/.test('哈哈')) // f
console.log(/^哈{4,6}$/.test('哈哈哈')) // f
console.log(/^哈{4,6}$/.test('哈哈哈哈')) // t
console.log(/^哈{4,6}$/.test('哈哈哈哈哈')) // t 
console.log(/^哈{4,6}$/.test('哈哈哈哈哈哈')) // t
console.log(/^哈{4,6}$/.test('哈哈哈哈哈哈哈')) // f
console.log('------------------')

3.字符类

(1) [ ] 匹配字符集合

后面的字符串只要包含 abc 中任意一个字符,都返回 true 。

(2) [ ] 里面加上 - 连字符

使用连字符 - 表示一个范围

比如:

Ø [a-z] 表示 a 到 z 26个英文字母都可以

Ø [a-zA-Z] 表示大小写都可以

Ø [0-9] 表示 0~9 的数字都可以

(3) [ ] 里面加上 ^ 取反符号

比如:

Ø [^a-z] 匹配除了小写字母以外的字符

Ø 注意要写到中括号里面

(4) . 匹配除换行符之外的任何单个字符

// 字符类   [abc]  只选1个!
console.log(/^[abc]$/.test('a'))  // true
console.log(/^[abc]$/.test('b'))  // true
console.log(/^[abc]$/.test('c'))  // true
console.log(/^[abc]$/.test('ab'))  // false
console.log(/^[abc]{2}$/.test('ab'))  // true
console.log('------------------')
// 字符类   [a-z]  只选1个
console.log(/^[A-Z]$/.test('p'))  // false
console.log(/^[A-Z]$/.test('P'))  // true
console.log(/^[0-9]$/.test(2))  // true
console.log(/^[a-zA-Z0-9]$/.test(2))  // true
console.log(/^[a-zA-Z0-9]$/.test('p'))  // true
console.log(/^[a-zA-Z0-9]$/.test('P'))  // true
console.log('------------------')

(3) 预定义:指的是 某些常见模式的简写方式。

4.修饰符

修饰符约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等

语法:/表达式/修饰符

Ø i 是单词 ignore 的缩写,正则匹配时字母不区分大小写

Ø g 是单词 global 的缩写,匹配所有满足正则表达式的结果(多用于replace)

replace 替换

字符串.replace(/正则表达式/, '替换的文本')

    console.log(/^java$/.test('java')) // t
    console.log(/^java$/i.test('JAVA')) // t
    console.log(/^java$/i.test('Java')) // t
    const str = 'java是一门编程语言, 学完JAVA工资很高'
    const _re = str.replace(/java/i, '前端') // 前端是一门编程语言, 学完JAVA工资很高

    // const re = str.replace(/java|JAVA/g, '前端')
    const re = str.replace(/java/ig, '前端')
    console.log(re)  // 前端是一门编程语言, 学完前端工资很高

基于正则表达式的JavaScript/C++语法高亮(js版) JavaScript的语法高亮一直是个难点,因为需要语义分析以确定/是除法操作的开始还是正则表达式的开始。目前关于高亮js的语法高亮都不是很理想,尤其是syntaxhighlighter(你待会看到的代码高亮效果就是它弄的, csdn说, 就用sh了)的效果算是最差的了,根本就不高亮正则、数字等,太不敬业了。假设你写的代码是足够规范的,而且不考虑效率的话,那么你使用我这个高亮js一般不会有问题。 阅读详情

相关推荐

从零开始:在CentOS服务器上部署R Shiny应用的完整指南

本文提供了一份在CentOS服务器上部署R Shiny应用的完整实战指南。内容涵盖从创建专用用户、安装R语言环境、配置Shiny Server,到最终部署应用并配置防火墙的全过程。针对部署过程中常见的权限、端口及依赖问题,给出了详细的解决方案,旨在帮助数据分析师和开发者将本地Shiny应用稳定、安全地发布至生产环境。

weixin_29079743的博客 136

js 正则表达式 test()方法

test() 方法是正则表达式的一个方法,用于检测一个字符串是否匹配某个模式. test 方法检查字符串是否与给出的正则表达式模式相匹配,如果是则返回 true,否则就返回 false。 每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置. 语法:regexp.test(str)  在全局匹配模式下 对于同一个正则对象重复调用就会出现下一次的匹配位置从上一次匹配...

夏朵朵的博客 5万+

单细胞双胞过滤-scrublet安装

pip install scrublet ----use-pep517有如下报错,分析可知安装annoy时不会自动更新gcc的版本,centos默认是4.8.5。pip install scrublet ----use-pep517 仍然报错,但似乎不影响使用,提示Successfully installed。打开终端,进入Python环境,输入以下代码,查看Python安装位置。暂时还没尝试是否存在问题,如果存在问题,降级scrublet版本。包的开发依赖的是比较低版本的numpy,会用到。

hzau_t的博客 793

正则(四):正则表达式的exec方法简介

语法: reg.exec(str); 其中str为要执行正则表达式的目标字符串。例如: <script type="text/javascript"> var reg = /test/; var str = 'abcdtestString'; var result = reg.exec(str);//result是个数组,result[0]保存的是正则匹配到的字符串”test” a...

weixin_44462907的博客 5635

电气比例阀采用外置传感器和PID控制器实现化学机械抛光(CMP)的超高精度压力控制

摘要:为大幅度提高现有CMP工艺设备中压力控制的稳定性,在现有电气比例阀这种单回路PID压力调节技术的基础上,本文提出了升级改造方案,即采用串级控制法(双回路PID控制,也称级联控制),通过在现有电气比例阀回路中增加更高精度的压力传感器和PID控制器,可以将研磨抛光压力的稳定性提高一个数量级,从1~2%的稳定性提升到0.1~0.2%。

Shanghai_Eyoung的博客 1292

如何用Python实现SPEI指数计算?从数据准备到结果可视化完整指南

本文提供了一份完整的Python实现SPEI指数计算指南,涵盖从数据准备、潜在蒸散量计算到结果可视化的全流程。详细介绍了使用Thornthwaite方法计算PET、拟合三参数log-logistic分布以及标准化转换的核心算法,并提供了模块化代码和可视化方案,帮助用户构建可复用的干旱分析工具。

cola5的博客 269

正则表达式exec()用法+实例

1、RegExp.prototype.exec(string); 使用正则表达式模式对字符串执行搜索,并将更新全局RegExp对象的属性以反映匹配结果。 如果没有匹配文本则返回null,否则返回一个结果数组: index声明匹配文本的第一个字符的位置 input存放被检索的字符串string 语法:正则表达式.exec(s字符串) 返回值:数组 例: var str = '1a2b3c4d5e'; //准备一个字符串 var reg = /\d(\w)\d/; //正则:匹配以数字开头,中间是字

weixin_42450034的博客 5669

单反相机物镜设计[DG-10]

REAR(要打在像面,操作数要找像面对应位置15):以透镜单位表示的真实光线径向坐标,波长由Wave定义,参见“Hx、Hy、Px和Py”。最小玻璃厚度最小不能小于semi-dia的1/10,要根据layout看有没有过厚过薄,反复调节。PROD:两个操作数的乘积(操作#1 X操作#2)。3x4就是57.3x0.41=23.5。拦光一般在第一面和最后一面操作,减少边缘无用光线。光阑面与镜面贴近,要调距离,同时设置光阑像差。后截距是指从镜头后表面到焦点的距离。CONS:弧度转为角度。镜头相互嵌入,有错误。

weixin_72050316的博客 600

js中正则表达式中【exec】用法深度解读

exec()是 JavaScript 正则表达式对象(RegExp)中的一个方法,用于匹配字符串中的特定模式,并返回匹配结果。它比test()和match()更强大,因为它不仅仅返回匹配成功与否,还返回匹配的具体内容及其相关信息。我们来详细讲解exec()的相关知识点。

2301_79858914的博客 4425

PCL 提取两片点云的非重叠部分【2025最新版】

PCL 提取两片点云的非重叠部分。博客长期更新,本文最近一次更新时间为:2025年9月1日。

点云侠的博客 36万+

手把手教你学Simulink——基于Simulink的隔离型DC-DC全桥变换器移相控制建模示例

本文详细介绍了基于Simulink的全桥移相变换器(PSFB)建模与控制方法。首先分析了全桥移相拓扑在大功率应用中的优势,包括ZVS实现、高频化和小型化特点。随后给出了具体设计参数和移相控制策略,采用电压外环+移相角内环的双闭环控制架构。文章重点演示了Simulink建模步骤,包括主电路搭建、移相PWM生成和PI控制器设计,并通过满载稳态、负载阶跃和轻载测试三种场景验证了系统性能。最后总结了工程实践要点,提出自适应控制等扩展方向,强调移相控制通过精准时间管理实现高效能量转换的核心价值。

MHD0815的博客 261

js中正则表达式test()方法

正则表达式即描述字符串规则的表达式 /pattern/attrs /规则/属性 new RegExp(pattern,attrs) regexObj.test(str)方法:测试正则表达式与指定字符串是否匹配 PS:test()方法只需要待测试字符串中包含了要测试的字符串就是ture 1.匹配一段字符串 /123456/.test("123456") //ture ...

qq_41261490的博客 1万+

acados安装与调试指南:版本兼容性问题

在计算机编程领域,软件工具和库的安装与调试是每个开发者必经的挑战。最近,在安装和使用acados库时,我遇到了一个有趣的问题,这里我将详细分享我的经验和解决方案。

m0_62153576的博客 740

【JS】JavaScript正则表达式基础

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

小绵杨 2211

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

Dontla的博客 1758

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

详解JavaScript中正则表达式

ztK63LrD的博客 2221

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

xh601的博客 5308

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

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

小绵杨 1705

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

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

on1y_rL的博客 633

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

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

感谢阅读 3326

{JS}JavaScript使用正则表达式

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

283

js正则限制字符串长度_JavaScript 正则表达式

js中正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单,过滤(替换)页面内容中的一些敏感词汇。1.1什么是正则表达式正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。1.2 正则表达式的特点灵活性、逻辑性和功能性非常的强。可以迅速地用极简单的方式达到字符串的复杂控制。对于刚接触的人来说,比较晦...

weixin_39651488的博客 1万+

JavaScript/JS 中,如何连接两个正则表达式 RegExp

JavaScript 的正则表达式可以用两种表达方式: 这两种表达式等价。JS 正则有两个属性, 和 会输出它的标志, 则输出它的正则匹配串。利用这两个属性,就可以去拼接两个正则: 💥 注意 需要去重,不然 构造函数会抛出 错误。[1] How to Concatenate a Regular Expression......

YopenLang的博客 3808

JavaScript正则表达式

JS代码 <script> // QQ号 var num = "10566"; var qq = /^[1-9]{1}([0-9]{4,9})$/; //输出true console.log(qq.test(num)); // 手机号 var num1 = "17694531646"; var phoneNumber =/^[1-9]{1}[0-9]{10}$/; //输出true console.log(phon

xiaoguilong1的博客 301

【JS】JavaScript正则表达式

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

Making Life Better. Making Others Better. 1367
上一篇: js 表单,表格 增 删
下一篇: js 原型链
前端开发洋洋
博客等级 码龄3年 77粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值