jquery里的正则表达式说明


Posted in Javascript onAugust 03, 2011

// A simple way to check for HTML strings or ID strings

// (both of which we optimize for)

quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/

根据jquery的注释,其是匹配HTML字符串和ID选择器

一开始看这段正则表达式的时候,怎么匹配非<的0个或者多个,又匹配<,这样到底是匹配<还是不匹配呢?而且html标签,不是应该就直接匹配<吗?

首先(?:pattern)匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。而且其会匹配所有非括号里的内容。

下面给个例子来说明

var quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/; 
sss="jytjt<dd1></1>fefef" 
match=quickExpr.exec(sss); 
alert(match);

结果是jytjt<dd1></1>fefef=,<dd1></1>

可以看到exec返回的是一个数组,而且第二个字符串就是?:匹配掉<>外非<和非>的字符

在jquery中获得结果的方法也是match[1]。所以这样即使你给jquery的选择器输入了多余的html标签,它也可以筛选出正确的html标签来。同时这里的?:还会筛选掉#,所以会得到只有id名,没有#号的id。

所以这段jquery正则表达式的意思就是,筛选html标签或者id选择符

Javascript 相关文章推荐
不懂JavaScript应该怎样学
Apr 16 Javascript
javascript中attribute和property的区别详解
Jun 05 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
Jun 19 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
Sep 01 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 Javascript
jQuery基本筛选选择器实例代码
Feb 06 Javascript
js处理包含中文的字符串实例
Oct 11 Javascript
webpack4实现不同的导出类型
Apr 09 Javascript
详解Vue中组件的缓存
Apr 20 Javascript
Vue组件实现触底判断
Jun 26 Javascript
浅谈Three.js截图并下载的大坑
Nov 01 Javascript
基于jQuery的图片剪切插件
Aug 03 #Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
Aug 03 #Javascript
JavaScript 一道字符串分解的题目
Aug 03 #Javascript
JavaScript中去掉数组中的重复值的实现方法
Aug 03 #Javascript
JavaScript 大数据相加的问题
Aug 03 #Javascript
推荐11款jQuery开发的复选框和单选框美化插件
Aug 02 #Javascript
JS 控制小数位数的实现代码
Aug 02 #Javascript
You might like
PHP获取当前完整URL地址的函数
2014/12/21 PHP
php实现的用户查询类实例
2015/06/18 PHP
Joomla开启SEF的方法
2016/05/04 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
详解vue-cli3多页应用改造
2019/06/04 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python中的filter()函数的用法
2015/04/27 Python
Python实现栈的方法
2015/05/26 Python
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
python中的tcp示例详解
2018/12/09 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
python实现四人制扑克牌游戏
2020/04/22 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
汽车检测与维修专业求职信
2013/10/30 职场文书
魅力教师事迹材料
2014/01/10 职场文书
创先争优活动方案
2014/02/12 职场文书
教育合作协议范本
2014/10/17 职场文书
个人业务学习心得体会
2016/01/25 职场文书
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android