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 相关文章推荐
自适应高度框架 ----属个人收藏内容
Jan 22 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
May 14 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
微信小程序 picker 组件详解及简单实例
Jan 10 Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
bootstrap table表格使用方法详解
Apr 26 Javascript
彻底理解js面向对象之继承
Feb 04 Javascript
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 Javascript
JavaScript实现新年倒计时效果
Nov 17 Javascript
微信小程序实现的自定义分享功能示例
Feb 12 Javascript
JavaScript闭包原理与用法学习笔记
May 29 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
PHP 实现缩略图
2021/03/09 PHP
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
2015/06/19 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
python正则分组的应用
2013/11/10 Python
python连接池实现示例程序
2013/11/26 Python
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
2020/01/20 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
专科应届生求职信
2013/11/24 职场文书
社区庆中秋节活动方案
2014/02/07 职场文书
健康家庭事迹材料
2014/05/02 职场文书
工程负责人任命书
2014/06/06 职场文书
社区助残日活动总结
2014/08/29 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书