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 相关文章推荐
node.js实现多图片上传实例
Jun 03 Javascript
jQuery实现的输入框选择时间插件用法实例
Feb 28 Javascript
Extjs 点击复选框在表格中增加相关信息行
Jul 12 Javascript
极力推荐10个短小实用的JavaScript代码段
Aug 03 Javascript
js实现上传图片预览方法
Oct 25 Javascript
JS三目运算(三元运算)方法详解
Mar 01 Javascript
深入对Vue.js $watch方法的理解
Mar 20 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
Jun 11 Javascript
JavaScript数组排序reverse()和sort()方法详解
Dec 24 Javascript
浅析java线程中断的办法
Jul 29 Javascript
vue-cli V3.0版本的使用详解
Oct 24 Javascript
JavaScript实现点击切换验证码及校验
Jan 10 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.ini 中文版
2006/10/28 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
jQuery之动画效果大全
2016/11/09 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
详解react-redux插件入门
2018/04/19 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
python3处理含有中文的url方法
2018/05/10 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
Django实现文件上传下载
2019/10/06 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
python list的index()和find()的实现
2020/11/16 Python
法国房车租赁网站:Yescapa
2019/08/26 全球购物
JMS中Topic和Queue有什么区别
2013/05/15 面试题
RealTek面试题
2016/06/28 面试题
服装电子商务创业计划书
2014/01/30 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
街道社区活动报告
2015/02/05 职场文书
针对吵架老公保证书
2015/05/08 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
分享几种python 变量合并方法
2022/03/20 Python