JavaScript--正则表达式

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

正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。


正则表达式构造函数: new RegExp("pattern"[,"flags"]);
参数说明:
pattern -- 一个正则表达式文本
flags -- 如果存在,将是以下值:
g: 全局匹配
i: 忽略大小写
gi: 以上组合

在构造函数中,一些特殊字符需要进行转意(在特殊字符前加"")。正则表达式中的特殊字符:
转意,即通常在""后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/b/,转意为匹配一个单词的边界。
-或-
对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了""后,/a*/ 将只匹配"a*"。  ^  匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"
$  匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"
*  匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa
+  匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa
?  匹配前面元字符0次或1次,/ba*/将匹配b,ba
(x)  匹配x保存x在名为$1...$9的变量中
x|y  匹配x或y
{n}  精确匹配n次
{n,}  匹配n次以上
{n,m}  匹配n-m次
[xyz]  字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz]  不匹配这个集合中的任何一个字符
[b]  匹配一个退格符
b  匹配一个单词的边界
B  匹配一个单词的非边界
cX  这儿,X是一个控制符,/cM/匹配Ctrl-M
d  匹配一个字数字符,/d/ = /[0-9]/
D  匹配一个非字数字符,/D/ = /[^0-9]/
n  匹配一个换行符
r  匹配一个回车符
s  匹配一个空白字符,包括n,r,f,t,v等
S  匹配一个非空白字符,等于/[^nfrtv]/
t  匹配一个制表符
v  匹配一个重直制表符
w  匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
W  匹配一个不可以组成单词的字符,如[W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

说了这么多了,我们来看一些正则表达式的实际应用的例子:
HTML代码的屏蔽
function mask_HTMLCode(strInput) {
   var myReg = /<(w+)>/;
   return strInput.replace(myReg, "&lt;$1&gt;");
}
E-mail地址验证:
function test_email(strEmail) {
  var myReg = /^[_a-z0-9]+@([_a-z0-9]+.)+[a-z0-9]{2,3}$/;
  if(myReg.test(strEmail)) return true;
  return false;
}

正则表达式对象的属性及方法:
预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext,rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或 test方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(

JavaScript模拟perl的正则表达式)
正则表达式对象的属性:
属性 含义
$1...$9 如果它(们)存在,是匹配到的子串
$_ 参见input
$* 参见multiline
$& 参见lastMatch
$+ 参见lastParen
$` 参见leftContext
$''          参见rightContext
constructor     创建一个对象的一个特殊的函数原型
global        是否在整个串中匹配(bool型)
ignoreCase     匹配时是否忽略大小写(bool型)
input        被匹配的串
lastIndex      最后一次匹配的索引
lastParen      最后一个括号括起来的子串
leftContext     最近一次匹配以左的子串
multiline      是否进行多行匹配(bool型)
prototype      允许附加属性给对象
rightContext    最近一次匹配以右的子串
source        正则表达式模式
lastIndex      最后一次匹配的索引

正则表达式对象的方法:
方法 含义
compile       正则表达式比较
exec        执行查找
test        进行匹配
toSource      返回特定对象的定义(literal

representing),其值可用来创建一个新的对象。重载Object.toSource方法得到的。
toString      返回特定对象的串。重载Object.toString方法得到的。
valueOf       返回特定对象的原始值。重载Object.valueOf方法得到

例子
  1. <script language = "JavaScript">
  2. var myReg = /(w+)s(w+)/;
  3. var str = "John Smith";
  4. var newstr = str.replace(myReg, "$2, $1");
  5. document.write(newstr);
  6. </script>
  7. 将输出"Smith, John"
基于正则表达式的JavaScript/C++语法高亮(js版) JavaScript的语法高亮一直是个难点,因为需要语义分析以确定/是除法操作的开始还是正则表达式的开始。目前关于高亮js的语法高亮都不是很理想,尤其是syntaxhighlighter(你待会看到的代码高亮效果就是它弄的, csdn说, 就用sh了)的效果算是最差的了,根本就不高亮正则、数字等,太不敬业了。假设你写的代码是足够规范的,而且不考虑效率的话,那么你使用我这个高亮js一般不会有问题。 阅读详情

相关推荐

从IPv6到Tomcat:彻底解决127.0.0.1拒绝连接的完整指南

本文提供了从IPv6到Tomcat的全面指南,帮助开发者彻底解决127.0.0.1拒绝连接的问题。涵盖网络协议栈、服务配置、端口管理等多个层面的排查方法,特别针对Tomcat服务提供了专项解决方案,确保开发者能够快速定位并修复连接问题。

weixin_29207439的博客 471

【JS】JavaScript正则表达式基础

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

小绵杨 2208

SICK LMS111激光雷达数据解析实战:从原始帧到三维点云的完整流程

本文详细解析了SICK LMS111激光雷达从原始数据帧到三维点云的完整处理流程,包括数据帧结构解析、坐标转换、点云可视化及性能优化技巧。通过实战代码示例,展示了如何高效处理激光雷达数据,并应用于动态物体检测、地面分割等工业场景,为AGV和服务机器人开发者提供实用指南。

garlic的博客 769

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

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

Dontla的博客 1758

项目管理-(补充)七种基本质量工具

七种基本质量工具,用于PDCA循环的架构内 解决与质量相关的问题,分为老七工具和新七工具。 1)老七种:刘英只点劣质茶(流程图、因果图、直方图、散点图、帕累托图、控制图、核查表)2)新七种:锯树联亲测动优(矩阵图、树形图、关联图、亲和图、过程决策程序图、活动网络图、优先矩阵)

weixin_42081167的博客 4603

UE5.5 PCGFrameWork程序化内容生成实战指南

本文是UE5.5 PCGFrameWork程序化内容生成的实战指南。详细介绍了从点云采样、DynamicMesh几何生成到子图与蓝图扩展的核心工作流。通过实战案例演示如何利用该框架高效构建丰富的程序化场景,为技术美术、独立开发者及爱好者提供从入门到进阶的系统性指引。

tea88的博客 920

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

详解JavaScript中正则表达式

ztK63LrD的博客 2219

【智能制造】- APS系列|05 APS 排产的五大底层算法逻辑

很多人误以为APS只是给生产工单排先后顺序,实则整套系统依托成熟算法体系,完成多维度约束下的最优生产决策在制造业数字化排产普及的当下,依旧有不少制造管理者对APS存在认知误区,将其等同于简易工单排序工具。事实上,专业级高级计划与排程系统,早已脱离单纯按时间排序的基础功能,而是依托一整套成熟完善的底层算法逻辑,整合现场各类生产限制条件,在海量变量中自动推演、筛选、输出最贴合企业经营目标的生产方案。

qq_40821260的博客 433

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

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

xh601的博客 5308

【Autosar从入门到精通到进阶实战篇】75 0x34/0x36/0x37:请求下载、传输数据、请求退出——刷写流程的“三兄弟”

文章摘要:UDS刷写流程0x34/0x36/0x37关键实现要点 本文通过一个真实ECU变砖案例,揭示了UDS刷写服务(0x34请求下载、0x36传输数据、0x37请求退出)的实现陷阱与最佳实践。核心要点: 安全架构设计: 0x34阶段只协商参数,不立即擦除Flash 采用缓冲区暂存数据,避免频繁写Flash 严格检查地址对齐和内存边界 关键改进措施: 实现数据包序列号校验(防错位) 传输层缓冲区溢出保护 0x37阶段必须包含完整性校验(如CRC32) 一次性批量写入Flash,减少擦写次数 典型错误模式:

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 68

STM32入门教程:水位传感器应用

这是一个简单的STM32水位检测系统的入门教程。希望通过学习本教程,您能对STM32微控制器的基本应用有更深入的了解,并能成功构建一个水位检测系统。如果您需要更详细的代码实例和教程,请参考相关的STM32开发手册和应用笔记。STM32是一款功能丰富且广泛应用于嵌入式系统的微控制器系列。在本教程中,我们将介绍如何使用STM32微控制器和水位传感器构建一个水位检测系统。

wx_linying1029的博客 533

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

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

小绵杨 1705

【异常检测】新版异常检测库anomalib的使用

异常检测库anomalib的使用。

胡侃有料的博客 4388

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

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

on1y_rL的博客 633

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

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

感谢阅读 3321

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

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

{JS}JavaScript使用正则表达式

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

283

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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正则表达式全局匹配正斜杠_JavaScript正则表达式常用技巧

正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript 中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法。正则表达式的掌握程度能粗略地看出程序员的技术底子,所以技术面试、编程竞赛等 都特别喜欢考察正则表达式。本篇就带你一起夯实一下 Ja...

weixin_39990250的博客 2145

js正则表达式

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js正则表达式</title> <!-- .----\. 数量词 X?:0次或1次 X+:出现1次或多次 X*:出现0次或多次 ...

family_love_1998的博客 213

Javascript常用正则表达式以及JS常见正则表达式笔试题

JS正则表达式,在表单验证等方面都有应用,下面结合学习经过,整理一些初学 者所需要掌握的一些基本JS正则规则: 1.正则表达式基础语法练习 (1)校验邮政编码(由六位组成) 这里要注意,不能写成/\d{6}/,如果写成这样,那么校验内容为7位时,也 能通过校验! 我们同样也可以写成a=/\b\d{6}\b/;或者a=/^\d{6}\b/ (2)

liwusen的博客 8212

js html正则解析,JavaScript 正则表达式解析

JavaScript 正则表达式解析更新时间:2009年02月21日 03:51:20 作者:正则表达式是一个描述字符模式的对象。JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法.在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用...

weixin_34416115的博客 427
上一篇: 整理下自己使用的sqlserver DBA面试题
下一篇: 学习一种新编程语言要做的15个练习
CEJ-盐井
博客等级 码龄17年 10粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值