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 ToolTip提示效果
Jul 20 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
Aug 14 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
Nov 15 Javascript
利用js(jquery)操作Cookie的方法说明
Dec 19 Javascript
Jquery对select的增、删、改、查操作
Feb 06 Javascript
js漂浮广告实现代码
Aug 15 Javascript
javascript之IE版本检测超简单方法
Aug 20 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
May 25 Javascript
详解AngularJS 模块化
Jun 14 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
深入浅出了解Node.js Streams
May 27 Javascript
微信小程序图片左右摆动效果详解
Jul 13 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安装为Apache DSO
2006/10/09 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
python二分查找算法的递归实现方法
2016/05/12 Python
tensorflow获取变量维度信息
2018/03/10 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
计算机专业学生的自我评价
2013/12/15 职场文书
洗发水广告词
2014/03/13 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
违章停车检讨书
2014/10/21 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
运动会加油稿
2015/07/22 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang