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 相关文章推荐
js 分栏效果实现代码
Aug 29 Javascript
csdn 论坛技术区平均给分功能
Nov 07 Javascript
js获取图片长和宽度的代码
Nov 24 Javascript
Jquery中扩展方法extend使用技巧
Aug 24 Javascript
一篇文章掌握RequireJS常用知识
Jan 26 Javascript
Ajax和Comet技术总结
Feb 19 Javascript
jQuery弹出窗口简单实现代码
Mar 09 Javascript
超简单的Vue.js环境搭建教程
Mar 17 Javascript
webpack多入口文件页面打包配置详解
Jan 09 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
May 04 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 Javascript
vuex 中插件的编写案例解析
Jun 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP与SQL注入攻击[三]
2007/04/17 PHP
php strtotime 函数UNIX时间戳
2009/01/14 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
newxtree.js代码
2007/03/13 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
浅谈js中的闭包
2015/03/16 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
js实现div色块碰撞
2020/01/16 Javascript
深入解析Python中的集合类型操作符
2015/08/19 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
对Python中range()函数和list的比较
2018/04/19 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
python上selenium的弹框操作实现
2020/07/13 Python
HTML5+CSS3应用详解
2014/02/24 HTML / CSS
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
《木笛》教学反思
2014/03/01 职场文书
十佳家长事迹材料
2014/08/26 职场文书
十岁生日答谢词
2015/01/05 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
golang json数组拼接的实例
2021/04/28 Golang