jquery里的正則表達式說明
更新時間:2011年08月03日 23:58:47 作者:
根據(jù)jquery的注釋,其是匹配HTML字符串和ID選擇器
// A simple way to check for HTML strings or ID strings
// (both of which we optimize for)
quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/
根據(jù)jquery的注釋,其是匹配HTML字符串和ID選擇器
一開始看這段正則表達式的時候,怎么匹配非<的0個或者多個,又匹配<,這樣到底是匹配<還是不匹配呢?而且html標簽,不是應該就直接匹配<嗎?
首先(?:pattern)匹配 pattern 但不獲取匹配結(jié)果,也就是說這是一個非獲取匹配,不進行存儲供以后使用。而且其會匹配所有非括號里的內(nèi)容。
下面給個例子來說明
var quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/;
sss="jytjt<dd1></1>fefef"
match=quickExpr.exec(sss);
alert(match);
結(jié)果是jytjt<dd1></1>fefef=,<dd1></1>
可以看到exec返回的是一個數(shù)組,而且第二個字符串就是?:匹配掉<>外非<和非>的字符
在jquery中獲得結(jié)果的方法也是match[1]。所以這樣即使你給jquery的選擇器輸入了多余的html標簽,它也可以篩選出正確的html標簽來。同時這里的?:還會篩選掉#,所以會得到只有id名,沒有#號的id。
所以這段jquery正則表達式的意思就是,篩選html標簽或者id選擇符
// (both of which we optimize for)
quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/
根據(jù)jquery的注釋,其是匹配HTML字符串和ID選擇器
一開始看這段正則表達式的時候,怎么匹配非<的0個或者多個,又匹配<,這樣到底是匹配<還是不匹配呢?而且html標簽,不是應該就直接匹配<嗎?
首先(?:pattern)匹配 pattern 但不獲取匹配結(jié)果,也就是說這是一個非獲取匹配,不進行存儲供以后使用。而且其會匹配所有非括號里的內(nèi)容。
下面給個例子來說明
復制代碼 代碼如下:
var quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/;
sss="jytjt<dd1></1>fefef"
match=quickExpr.exec(sss);
alert(match);
結(jié)果是jytjt<dd1></1>fefef=,<dd1></1>
可以看到exec返回的是一個數(shù)組,而且第二個字符串就是?:匹配掉<>外非<和非>的字符
在jquery中獲得結(jié)果的方法也是match[1]。所以這樣即使你給jquery的選擇器輸入了多余的html標簽,它也可以篩選出正確的html標簽來。同時這里的?:還會篩選掉#,所以會得到只有id名,沒有#號的id。
所以這段jquery正則表達式的意思就是,篩選html標簽或者id選擇符
相關(guān)文章
jQuery的ajax中使用FormData實現(xiàn)頁面無刷新上傳功能
這篇主要寫如何利用ajax和FormData實現(xiàn)頁面無刷新的文件上傳效果,主要用到了jQuery的ajax()方法和XMLHttpRequest Level 2的FormData接口。需要的的朋友參考下本文2017-01-01jquery ajax實現(xiàn)下拉框三級無刷新聯(lián)動,且保存保持選中值狀態(tài)
jquery ajax實現(xiàn)下拉框三級無刷新聯(lián)動,且保存保持選中值狀態(tài)。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10jQuery實現(xiàn)動態(tài)添加和刪除input框代碼實例
這篇文章主要介紹了jQuery實現(xiàn)動態(tài)添加和刪除input框,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03