jquery里的正则表达式说明
// 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选择符
相关推荐
-
常用的JQuery数字类型验证正则表达式整理
复制代码 代码如下: var regexEnum = { intege:"^-?[1-9]//d*$", //整数 intege1:"^[1-9]//d*$", //正整数 intege2:"^-[1-9]//d*$", //负整数 num:"^([+-]?)//d*//.?//d+$", //数字 num1:"^([1-9]//d*|0)$", //正数(正整数 + 0) num2:"^-[1-
-
jQuery正则表达式的使用方法步骤详解
本文主要和大家分享的就是jQuery学习中正则的使用,正则在jquery里面并没有比JavaScript多哪些知识,基本上是一样的,只是选择器更好了一点,一起来看看吧. 基础正则 1.正则表达式的创建 a) var checkNum = /^[A-Za-z0-9]+$/; b) var re=new RegExp("["+s1+"]","g"); 2.常用规则 a) 用户密码:/^[a-zA-Z][a-zA-Z0-9_]{5,20}$/ b) 邮
-
详谈jQuery中的一些正则匹配表达式
jQuery常用正则匹配表达式 //整数 "^-?[1-9]\\d*$", //正整数 "^[1-9]\\d*$", //负整数 intege2: "^-[1-9]\\d*$", //数字 num: "^([+-]?)\\d*\\.?\\d+$", //正数(正整数 + 0) num1: "^[1-9]\\d*|0$", //负数(负整数 + 0) num2: "^-[1-9]\\d*|0$&qu
-
jQuery中的正则表达式分析 正则基础
quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/ (?:-)表示是一个非捕获型 [^<]表示是以"<"起始,包含0个或多个'<'括号 (<[\w\W]+>)表示是一个捕获型,以'<>'起始,中间包含一个或多个字符 $表示字符的结尾 (#([\w\-]+))表示是一个捕获型,以'#'号和字符串.数字._以及-组成 rnotwhite = /\S/ \S表示是空白字符
-
jquery里的正则表达式说明
// 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标签,不
-
python里使用正则表达式的组嵌套实例详解
python里使用正则表达式的组嵌套实例详解 由于组本身是一个完整的正则表达式,所以可以将组嵌套在其他组中,以构建更复杂的表达式.下面的例子,就是进行组嵌套的例子: #python 3.6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # import re def test_patterns(text, patterns): """Given source text and a list of pa
-
详解python里使用正则表达式的分组命名方式
详解python里使用正则表达式的分组命名方式 分组匹配的模式,可以通过groups()来全部访问匹配的元组,也可以通过group()函数来按分组方式来访问,但是这里只能通过数字索引来访问,如果某一天产品经理需要修改需求,让你在它们之中添加一个分组,这样一来,就会导致匹配的数组的索引的变化,作为开发人员的你,必须得一行一行代码地修改.因此聪明的开发人员又想到一个好方法,把这些分组进行命名,只需要对名称进行访问分组,不通过索引来访问了,就可以避免这个问题.那么怎么样来命名呢?可以采用(?P<nam
-
jQuery如何用正则表达式验证手机号、身份证号、中文名称
数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChinaName(name) { var pattern = /^[\u4E00-\u9FA5]{1,6}$/; return pattern.test(name); } // 验证手机号 function isPhoneNo(phone) { var pattern = /^1[34578]\d{9}$
-
innerHTML与jquery里的html()区别介绍
看个示例: 复制代码 代码如下: var tbody=document.createElement('tbody'); tbody.innerHTML='<tr><td>IE下tbody的innerHTML是只读的</td></tr>'; //在IE下报错,目标对象错误 现在用jquery的html试试, 复制代码 代码如下: $(tbody).html('<tr><td>IE下tbody的innerHTML是只读的</td&g
-
详解python里使用正则表达式的全匹配功能
详解python里使用正则表达式的全匹配功能 python中很多匹配,比如搜索任意位置的search()函数,搜索边界的match()函数,现在还需要学习一个全匹配函数,就是搜索的字符与内容全部匹配,它就是fullmatch()函数. 例子如下: #python 3.6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # import re text = 'This is some text -- with punctua
-
关于jQuery里prev()的简单操作代码
prev() 函数被用来匹配元素集的前一个兄弟元素,仅仅只有前一个兄弟元素被选择,其子元素将被忽略.这里给大家介绍jQuery里prev()的简单操作,具体内容如下: 一个朋友提了个需求给我:点击按钮删除input,如果input剩一个,点击按钮全部消失. 很简单的操作,但是你如果不知道jquery里有prev()这个方法,可能你会走很多弯路. 代码: html <div> <input type="text" placeholder="用户名"&
-
jQuery插件form-validation-engine正则表达式操作示例
本文实例讲述了jQuery插件form-validation-engine正则表达式操作.分享给大家供大家参考,具体如下: form-validation-engine是一个不错的表单验证插件,示例如下: (function($) { $.fn.validationEngineLanguage = function() {}; $.validationEngineLanguage = { newLang: function() { $.validationEngineLanguage.allRu
-
js实现类似jquery里animate动画效果的方法
本文实例讲述了js实现类似jquery里animate动画效果的方法.分享给大家供大家参考.具体分析如下: 该实例可实现鼠标移上,先宽度变化,再高度变化,最后透明度变化,鼠标移出,再依次变回去的效果. 要点一: startrun(obj,attr,target,fn) box.onmouseover = function(){ startrun(box,"width",200,function(){ startrun(box,"height",200,functio
-
jQuery里filter()函数与find()函数用法分析
本文实例讲述了jQuery里filter()函数与find()函数用法.分享给大家供大家参考.具体分析如下: $("div .cont"); 等价于$("div").find(".cont") filter()函数是作用在集合的每一个对象($(这里是什么得到的就是什么))上, find()函数是在每一个对象内部查找匹配表达式的子元素 例子: <div class="cont"><p class="c
随机推荐
- JavaScript 创建对象
- AngularJS实现表单验证功能
- 解决iOS11刷新tableview会出现漂移的现象
- iOS贝塞尔曲线画哆啦A梦的代码实例
- CentOS系统安装Redis及Redis的PHP扩展详解
- 在Python中使用HTML模版的教程
- JQuery 在表单提交之前修改 提交的值 原创
- 手把手教你搭建ES6的开发运行环境
- JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
- Python标准库之循环器(itertools)介绍
- Web开发之JavaScript
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- PHP实现获取FLV文件的时间
- linux入门教程 第4章 X-Window与汉化
- Css浏览器兼容的解决方法
- MFC自定义消息的实现方法
- Web代理(Asp版)
- Lua文件读写详解
- 利用JavaScript更改input中radio和checkbox样式
- mongodb+php实现简单的增删改查