DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jquery裡的正則表達式說明
jquery裡的正則表達式說明
編輯: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選擇符
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved