日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS正则表达式详解(转)

發布時間:2024/9/20 javascript 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS正则表达式详解(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
開篇,還是得說說 ^??? 和??? $??? 他們是分別用來匹配字符串的開始和結束,以下分別舉例說明
"^The": 開頭一定要有"The"字符串;
"of despair$":??? 結尾一定要有"of despair" 的字符串;
那么,
"^abc$": 就是要求以abc開頭和以abc結尾的字符串,實際上是只有abc匹配
"notice": 匹配包含notice的字符串

你可以看見如果你沒有用我們提到的兩個字符(最后一個例子),就是說 模式(正則表達式) 可以出現在被檢驗字符串的任何地方,你沒有把他鎖定到兩邊

接著,說說 '*', '+',和 '?',
他們用來表示一個字符可以出現的次數或者順序. 他們分別表示:
"zero or more"相當于{0,},
"one or more"相當于{1,},
"zero or one."相當于{0,1},??? 這里是一些例子:

"ab*":??? 和ab{0,}同義,匹配以a開頭,后面可以接0個或者N個b組成的字符串("a", "ab", "abbb", 等);
"ab+": 和ab{1,}同義,同上條一樣,但最少要有一個b存在 ("ab", "abbb", 等.);
"ab?":和ab{0,1}同義,可以沒有或者只有一個b;
"a?b+$": 匹配以一個或者0個a再加上一個以上的b結尾的字符串.
要點, '*', '+',和 '?'只管它前面那個字符.
你也可以在大括號里面限制字符出現的個數,比如

"ab{2}": 要求a后面一定要跟兩個b(一個也不能少)("abb");
"ab{2,}": 要求a后面一定要有兩個或者兩個以上b(如"abb", "abbbb", 等.);
"ab{3,5}": 要求a后面可以有2-5個b("abbb", "abbbb", or "abbbbb").
? 現在我們把一定幾個字符放到小括號里,比如:

"a(bc)*": 匹配 a 后面跟0個或者一個"bc";
"a(bc){1,5}": 一個到5個 "bc."

還有一個字符 '│', 相當于OR 操作:

"hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串;
"(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串;
"(a│b)*c": 匹配含有這樣多個(包括0個)a或b,后面跟一個c
的字符串;

一個點('.')可以代表所有的單一字符,不包括""n"
如果,要匹配包括""n"在內的所有單個字符,怎么辦? 對了,用'["n.]'這種模式.
"a.[0-9]": 一個a加一個字符再加一個0到9的數字
"^.{3}$": 三個任意字符結尾 .
?
中括號括住的內容只匹配一個單一的字符

"[ab]": 匹配單個的 a 或者 b ( 和 "a│b" 一樣);
"[a-d]": 匹配'a' 到'd'的單個字符 (和"a│b│c│d" 還有 "[abcd]"效果一樣); 一般我們都用[a-zA-Z]來指定字符為一個大小寫英文
"^[a-zA-Z]": 匹配以大小寫字母開頭的字符串
"[0-9]%": 匹配含有 形如 x% 的字符串
",[a-zA-Z0-9]$": 匹配以逗號再加一個數字或字母結尾的字符串

你也可以把你不想要得字符列在中括號里,你只需要在總括號里面使用'^' 作為開頭 "%[^a-zA-Z]%" 匹配含有兩個百分號里面有一個非字母的字符串.

要點:^用在中括號開頭的時候,就表示排除括號里的字符
為了PHP能夠解釋,你必須在這些字符面前后加'',并且將一些字符轉義. 不要忘記在中括號里面的字符是這條規路的例外—在中括號里面, 所有的特殊字符,包括(''), 都將失去他們的特殊性質 "[*"+?{}.]"匹配含有這些字符的字符串. 還有,正如regx的手冊告訴我們: "如果列表里含有 ']', 最好把它作為列表里的第一個字符(可能跟在'^'后面). 如果含有'-', 最好把它放在最前面或者最后面, or 或者一個范圍的第二個結束點[a-d-0-9]中間的‘-’將有效. 看了上面的例子,你對{n,m}應該理解了吧.要注意的是,n和m都不能為負整數,而且n總是小于m. 這樣,才能 最少匹配n次且最多匹配m次. 如"p{1,5}"將匹配 "pvpppppp"中的前五個p 下面說說以"開頭的 "b 書上說他是用來匹配一個單詞邊界,就是...比如've"b',可以匹配love里的ve而不匹配very里有ve "B 正好和上面的"b相反.例子我就不舉了 .....突然想起來....可以到http://www.phpv.net/article.php/251 看看其它用" 開頭的語法 ? 好,我們來做個應用: 如何構建一個模式來匹配 貨幣數量 的輸入 構建一個匹配模式去檢查輸入的信息是否為一個表示money的數字。我們認為一個表示money的數量有四種方式: "10000.00" 和 "10,000.00",或者沒有小數部分, "10000" and "10,000". 現在讓我們開始構建這個匹配模式: ^[1-9][0-9]*$ 這是所變量必須以非0的數字開頭.但這也意味著 單一的 "0" 也不能通過測試. 以下是解決的方法: ^(0│[1-9][0-9]*)$ "只有0和不以0開頭的數字與之匹配",我們也可以允許一個負號在數字之前: ^(0│-?[1-9][0-9]*)$ 這就是: "0 或者 一個以0開頭 且可能 有一個負號在前面的數字." 好了,現在讓我們別那么嚴謹,允許以0開頭.現在讓我們放棄 負號 , 因為我們在表示錢幣的時候并不需要用到. 我們現在指定 模式 用來匹配小數部分: ^[0-9]+(".[0-9]+)?$ 這暗示匹配的字符串必須最少以一個阿拉伯數字開頭. 但是注意,在上面模式中 "10." 是不匹配的, 只有 "10" 和 "10.2" 才可以. (你知道為什么嗎) ^[0-9]+(".[0-9]{2})?$ 我們上面指定小數點后面必須有兩位小數.如果你認為這樣太苛刻,你可以改成: ^[0-9]+(".[0-9]{1,2})?$ 這將允許小數點后面有一到兩個字符. 現在我們加上用來增加可讀性的逗號(每隔三位), 我們可以這樣表示: ^[0-9]{1,3}(,[0-9]{3})*(".[0-9]{1,2})?$ 不要忘記 '+' 可以被 '*' 替代 如果你想允許空白字符串被輸入話 (為什么?). 也不要忘記反斜桿 ’"’ 在php字符串中可能會出現錯誤 (很普遍的錯誤). 現在,我們已經可以確認字符串了, 我們現在把所有逗號都去掉 str_replace(",", "", $money) 然后在把類型看成 double然后我們就可以通過他做數學計算了.
再來一個: 構造檢查email的正則表達式 在一個完整的email地址中有三個部分:
1. 用戶名 (在 '@' 左邊的一切),
2.'@',
3. 服務器名(就是剩下那部分).

用戶名可以含有大小寫字母阿拉伯數字,句號 ('.'), 減號('-'), and 下劃線 ('_'). 服務器名字也是符合這個規則,當然下劃線除外.
現在, 用戶名的開始和結束都不能是句點. 服務器也是這樣. 還有你不能有兩個連續的句點他們之間至少存在一個字符,好現在我們來看一下怎么為用戶名寫一個匹配模式: ^[_a-zA-Z0-9-]+$ 現在還不能允許句號的存在. 我們把它加上: ^[_a-zA-Z0-9-]+(".[_a-zA-Z0-9-]+)*$ 上面的意思就是說: "以至少一個規范字符(除了.)開頭,后面跟著0個或者多個以點開始的字符串." 簡單化一點, 我們可以用 eregi()取代 ereg().eregi()對大小寫不敏感, 我們就不需要指定兩個范圍 "a-z" 和 "A-Z" – 只需要指定一個就可以了: ^[_a-z0-9-]+(".[_a-z0-9-]+)*$ 后面的服務器名字也是一樣,但要去掉下劃線: ^[a-z0-9-]+(".[a-z0-9-]+)*$ 好. 現在只需要用”@”把兩部分連接: ^[_a-z0-9-]+(".[_a-z0-9-]+)*@[a-z0-9-]+(".[a-z0-9-]+)*$
這就是完整的email認證匹配模式了,只需要調用
eregi(‘^[_a-z0-9-]+(".[_a-z0-9-]+)*@[a-z0-9-]+(".[a-z0-9-]+)*$ ’,$eamil) 就可以得到是否為email了
正則表達式的其他用法
提取字符串 ereg() and eregi() 有一個特性是允許用戶通過正則表達式去提取字符串的一部分(具體用法你可以閱讀手冊). 比如說,我們想從 path/URL 提取文件名 – 下面的代碼就是你需要: ereg("([^""/]*)$", $pathOrUrl, $regs);
echo $regs[1];
高級的代換 ereg_replace() 和 eregi_replace()也是非常有用的: 假如我們想把所有的間隔負號都替換成逗號:
ereg_replace("[ "n"r"t]+", ",", trim($str));
最后,我把另一串檢查EMAIL的正則表達式讓看文章的你來分析一下. "^[-!#$%&"'*+""./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&"'*+""/0-9=?A-Z^_`a-z{|}~]+".'.'[-!#$%&"'*+""./0-9=?A-Z^_`a-z{|}~]+$" 如果能方便的讀懂,那這篇文章的目的就達到了. ? //校驗是否全由數字組成 function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗登錄名:只能輸入5-20個以字母開頭、可帶數字、“_”、“.”的字串

function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗用戶姓名:只能輸入1-30個以字母開頭的字串

function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
}}

//校驗密碼:只能輸入6-20個字母、數字、下劃線
{{{
function isPasswd(s)
{
var patrn=/^("w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”

function isTel(s)
{
//var patrn=/^[+]{0,1}("d){1,3}[ ]?([-]?("d){1,12})+$/;
var patrn=/^[+]{0,1}("d){1,3}[ ]?([-]?(("d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校驗手機號碼:必須以數字開頭,除數字外,可含有“-”

function isMobil(s)
{
var patrn=/^[+]{0,1}("d){1,3}[ ]?([-]?(("d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校驗郵政編碼

function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗搜索關鍵字

function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|"""]["]"{"}:;'",.<>/?]{1}[^`~!@$%^&()+=|"""]
["]"{"}:;'",.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

正則表達式

"^""d+$"  //非負整數(正整數 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整數
"^((-""d+)|(0+))$"  //非正整數(負整數 + 0)
"^-[0-9]*[1-9][0-9]*$"  //負整數
"^-?""d+$"    //整數
"^""d+("".""d+)?$"  //非負浮點數(正浮點數 + 0)
"^(([0-9]+"".[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*"".[0-9]+)|([0-9]*[1-9][0-9]*))$" 
//正浮點數
"^((-""d+("".""d+)?)|(0+("".0+)?))$"  //非正浮點數(負浮點數 + 0)
"^(-(([0-9]+"".[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*"".[0-9]+)|([0-9]*[1-9][0-9]*)))$" 
//負浮點數
"^(-?""d+)("".""d+)?$"  //浮點數
"^[A-Za-z]+$"  //由26個英文字母組成的字符串
"^[A-Z]+$"  //由26個英文字母的大寫組成的字符串
"^[a-z]+$"  //由26個英文字母的小寫組成的字符串
"^[A-Za-z0-9]+$"  //由數字和26個英文字母組成的字符串
"^""w+$"  //由數字、26個英文字母或者下劃線組成的字符串
"^[""w-]+("".[""w-]+)*@[""w-]+("".[""w-]+)+$"    //email地址
"^[a-zA-z]+://(""w+(-""w+)*)("".(""w+(-""w+)*))*(""?""S*)?$"  //url
"^[A-Za-z0-9_]*$"

正則表達式使用詳解

簡介

簡單的說,正則表達式是一種可以用于模式匹配和替換的強有力的工具。其作用如下:測試字符串的某個模式。例如,可以對一個輸入字符串進行測試,看在 該字符串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為數據有效性驗證。 替換文本。可以在文檔中使用一個正則表達式來標識特定文字,然后可以全部將其刪除,或者替換為別的文字。 根據模式匹配從字符串中提取一個子字符串。可以用來在文本或輸入字段中查找特定文字。

基本語法

在對正則表達式的功能和作用有了初步的了解之后,我們就來具體看一下正則表達式的語法格式。 正則表達式的形式一般如下:  

/love/  其中位于“/”定界符之間的部分就是將要在目標對象中進行匹配的模式。用戶只要把希望查找匹配對象的模式內容放入“/”定界符之間 即可。為了能夠使用戶更加靈活的定制模式內容,正則表達式提供了專門的“元字符”。所謂元字符就是指那些在正則表達式中具有特殊意義的專用字符,可以用來 規定其前導字符(即位于元字符前面的字符)在目標對象中的出現模式。 較為常用的元字符包括: “+”, “*”,以及 “?”。

“+”元字符規定其前導字符必須在目標對象中連續出現一次或多次。

“*”元字符規定其前導字符必須在目標對象中出現零次或連續多次。

“?”元字符規定其前導對象必須在目標對象中連續出現零次或一次。

下面,就讓我們來看一下正則表達式元字符的具體應用。

/fo+/  因為上述正則表達式中包含“+”元字符,表示可以與目標對象中的 “fool”, “fo”, 或者 “football”等在字母f后面連續出現一個或多個字母o的字符串相匹配。

/eg*/  因為上述正則表達式中包含“*”元字符,表示可以與目標對象中的 “easy”, “ego”, 或者 “egg”等在字母e后面連續出現零個或多個字母g的字符串相匹配。

/Wil?/  因為上述正則表達式中包含“?”元字符,表示可以與目標對象中的 “Win”, 或者“Wilson”,等在字母i后面連續出現零個或一個字母l的字符串相匹配。

有時候不知道要匹配多少字符。為了能適應這種不確定性,正則表達式支持限定符的概念。這些限定符可以指定正則表達式的一個給定組件必須要出現多少次才能滿足匹配。

{n} n 是一個非負整數。匹配確定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的兩個 o。

{n,} n 是一個非負整數。至少匹配 n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等價于 'o+'。'o{0,}' 則等價于 'o*'。

{n,m} m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 將匹配 "fooooood" 中的前三個 o。'o{0,1}' 等價于 'o?'。請注意在逗號和兩個數之間不能有空格。

除了元字符之外,用戶還可以精確指定模式在匹配對象中出現的頻率。例如,/jim {2,6}/ 上述正則表達式規定字符m可以在匹配對象中連續出現2-6次,因此,上述正則表達式可以同jimmy或jimmmmmy等字符串相匹配。 在對如何使用正則表達式有了初步了解之后,我們來看一下其它幾個重要的元字符的使用方式。

"s:用于匹配單個空格符,包括tab鍵和換行符;
"S:用于匹配除單個空格符之外的所有字符;
"d:用于匹配從0到9的數字;
"w:用于匹配字母,數字或下劃線字符;
"W:用于匹配所有與"w不匹配的字符;
. :用于匹配除換行符之外的所有字符。
(說明:我們可以把"s和"S以及"w和"W看作互為逆運算) 下面,我們就通過實例看一下如何在正則表達式中使用上述元字符。 /"s+/ 上述正則表達式可以用于匹配目標對象中的一個或多個空格字符。 /"d000/ 如果我們手中有一份復雜的財務報表,那么我們可以通過上述正則表達式輕而易舉的查找到所有總額達千元的款項。 除了我們以上所介紹的元字符之外,正則表達式中還具有另外一種較為獨特的專用字符,即定位符。定位符用于規定匹配模式在目標對象中的出現位置。 較為常用的定位符包括: “^”, “$”, “"b” 以及 “"B”。 “^”定位符規定匹配模式必須出現在目標字符串的開頭
“$”定位符規定匹配模式必須出現在目標對象的結尾
“"b”定位符規定匹配模式必須出現在目標字符串的開頭或結尾的兩個邊界之一
“"B”定位符則規定匹配對象必須位于目標字符串的開頭和結尾兩個邊界之內,
即匹配對象既不能作為目標字符串的開頭,也不能作為目標字符串的結尾。
同樣,我們也可以把“^”和“$”以及“"b”和“"B”看作是互為逆運算的兩組定位符。舉例來說: /^hell/ 因為上述正則表達式中包含“^”定位符,所以可以與目標對象中以 “hell”, “hello”或“hellhound”開頭的字符串相匹配。 /ar$/ 因為上述正則表達式中包含“$”定位符,所以可以與目標對象中以 “car”, “bar”或 “ar” 結尾的字符串相匹配。 /"bbom/ 因為上述正則表達式模式以“"b”定位符開頭,所以可以與目標對象中以 “bomb”, 或 “bom”開頭的字符串相匹配。/man"b/ 因為上述正則表達式模式以“"b”定位符結尾,所以可以與目標對象中以 “human”, “woman”或 “man”結尾的字符串相匹配。 為了能夠方便用戶更加靈活的設定匹配模式,正則表達式允許使用者在匹配模式中指定某一個范圍而不局限于具體的字符。例如: /[A-Z]/  上述正則表達式將會與從A到Z范圍內任何一個大寫字母相匹配。
/[a-z]/  上述正則表達式將會與從a到z范圍內任何一個小寫字母相匹配。
/[0-9]/  上述正則表達式將會與從0到9范圍內任何一個數字相匹配。
/([a-z][A-Z][0-9])+/ 上述正則表達式將會與任何由字母和數字組成的字符串,如 “aB0” 等相匹配。
這里需要提醒用戶注意的一點就是可以在正則表達式中使用 “()” 把字符串組合在一起。“()”符號包含的內容必須同時出現在目標對象中。因此,上述正則表達式將無法與諸如 “abc”等的字符串匹配,因為“abc”中的最后一個字符為字母而非數字。 如果我們希望在正則表達式中實現類似編程邏輯中的“或”運算,在多個不同的模式中任選一個進行匹配的話,可以使用管道符 “|”。例如:/to|too|2/ 上述正則表達式將會與目標對象中的 “to”, “too”, 或 “2” 相匹配。正則表達式中還有一個較為常用的運算符,即否定符 “[^]”。與我們前文所介紹的定位符 “^” 不同,否定符 “[^]”規定目標對象中不能存在模式中所規定的字符串。例如:/[^A-C]/ 上述字符串將會與目標對象中除A,B,和C之外的任何字符相匹配。一般 來說,當“^”出現在 “[]”內時就被視做否定運算符;而當“^”位于“[]”之外,或沒有“[]”時,則應當被視做定位符。最后,當用戶需要在正則表達式的模式中加入元字 符,并查找其匹配對象時,可以使用轉義符“"”。例如:/Th"*/  上述正則表達式將會與目標對象中的“Th*”而非“The”等相匹配。在構造正則表達式之后,就可以象數學表達式一樣來求值,也就是說,可以從左至右并 按照一個優先級順序來求值。優先級如下: 1." 轉義符
2.(), (?:), (?=), [] 圓括號和方括號
3.*, +, ?, {n}, {n,}, {n,m} 限定符
4.^, $, "anymetacharacter 位置和順序
5.|“或”操作

使用實例

在JavaScript 1.2中帶有一個功能強大的RegExp()對象,可以用來進行正則表達式的匹配操作。其中的test()方法可以檢驗目標對象中是否包含匹配模式,并相 應的返回true或false。我們可以使用JavaScript編寫以下腳本,驗證用戶輸入的郵件地址的有效性。 <html>
<head>
<script language="Javascript1.2">
<!-- start hiding
function verifyAddress(obj)
{
var email = obj.email.value;
var pattern =
/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(".[a-zA-Z0-9_-])+/;
flag = pattern.test(email);
if(flag)
{
alert(“Your email address is correct!”);
return true;
}
else
{
alert(“Please try again!”);
return false;
}
}
// stop hiding -->
</script>
</head>
<body>
<form onSubmit="return verifyAddress(this);">
<input name="email" type="text">
<input type="submit">
</form>
</body>
</html>

正則表達式對象

本對象包含正則表達式模式以及表明如何應用模式的標志。 語法 1 re = /pattern/[flags]
語法 2 re = new RegExp("pattern",["flags"])
參數 re 必選項。將要賦值為正則表達式模式的變量名。

Pattern 必選項。要使用的正則表達式模式。如果使用語法 1,用 "/" 字符分隔模式。如果用語法 2,用引號將模式引起來。

Flags 可選項。如果使用語法 2 要用引號將 flag 引起來。標志可以組合使用,可用的有:

g (全文查找出現的所有 pattern)
i (忽略大小寫)
m (多行查找)

示例

下面的示例創建一個包含正則表達式模式及相關標志的對象(re),向您演示正則表達式對象的用法。在本例中,作為結果的正則表達式對象又用于 match 方法中: function MatchDemo()
{
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain";
re = new RegExp("ain","g"); // 創建正則表達式對象。
r = s.match(re); // 在字符串 s 中查找匹配。
return(r);
}

返回值: ain,ain,ain,ain
屬性 lastIndex 屬性 | source 屬性
方法 compile 方法 | exec 方法 | test 方法
要求 版本 3
請參閱 RegExp 對象 | 正則表達式語法 | String 對象

exec 方法

用正則表達式模式在字符串中運行查找,并返回包含該查找結果的一個數組。 rgExp.exec(str)

參數

rgExp 必選項。包含正則表達式模式和可用標志的正則表達式對象。

str 必選項。要在其中執行查找的 String 對象或字符串文字。

說明
如果 exec 方法沒有找到匹配,則它返回 null。如果它找到匹配,則 exec 方法返回一個數組,并且更新全局 RegExp 對象的屬性,以反映匹配結果。數組的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出現的任意一個子匹配。這相當于沒有設置全局標志 (g) 的 match 方法。如果為正則表達式設置了全局標志,exec 從以 lastIndex 的值指示的位置開始查找。如果沒有設置全局標志,exec 忽略 lastIndex 的值,從字符串的起始位置開始搜索。

exec 方法返回的數組有三個屬性,分別是 input、index 和 lastIndex。Input 屬性包含了整個被查找的字符串。Index 屬性中包含了整個被查找字符串中被匹配的子字符串的位置。LastIndex 屬性中包含了匹配中最后一個字符的下一個位置。

示例
下面的例子舉例說明了 exec 方法的用法:

function RegExpTest()
{
var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())
if (ver >= 5.5){ // 測試 JScript 的版本。
var src = "The rain in Spain falls mainly in the plain.";
var re = /"w+/g; // 創建正則表達式模式。
var arr;
while ((arr = re.exec(src)) != null)
document.write(arr.index + "-" + arr.lastIndex + arr + ""t");
}
else{
alert("請使用 JScript 的更新版本");
}
}

返回值:0-3The 4-8rain 9-11in 12-17Spain 18-23falls 24-30mainly 31-33in 34-37the 38-43plain

test 方法
返回一個 Boolean 值,它指出在被查找的字符串中是否存在模式。 rgexp.test(str)

參數
rgexp 必選項。包含正則表達式模式或可用標志的正則表達式對象。

str 必選項。要在其上測試查找的字符串。

說明 test 方法檢查在字符串中是否存在一個模式,如果存在則返回 true,否則就返回 false。全局 RegExp 對象的屬性不由 test 方法來修改。

示例下面的例子舉例說明了 test 方法的用法:

function TestDemo(re, s)
{
var s1; // 聲明變量。
// 檢查字符串是否存在正則表達式。
if (re.test(s)) // 測試是否存在。
s1 = " contains "; // s 包含模式。
else
s1 = " does not contain "; // s 不包含模式。
return("'" + s + "'" + s1 + "'"+ re.source + "'"); // 返回字符串。
}

函數調用:document.write (TestDemo(/ain+/ ,"The rain in Spain falls mainly in the plain."));

返回值:'The rain in Spain falls mainly in the plain.' contains 'ain+'

match 方法

使用正則表達式模式對字符串執行查找,并將包含查找的結果作為數組返回。
stringObj.match(rgExp)

參數
stringObj 必選項。對其進行查找的 String 對象或字符串文字。

rgExp 必選項。為包含正則表達式模式和可用標志的正則表達式對象。也可以是包含正則表達式模式和可用標志的變量名或字符串文字。

說明
如果 match 方法沒有找到匹配,返回 null。如果找到匹配返回一個數組并且更新全局 RegExp 對象的屬性以反映匹配結果。 match 方法返回的數組有三個屬性:input、index 和 lastIndex。Input 屬性包含整個的被查找字符串。Index 屬性包含了在整個被查找字符串中匹配的子字符串的位置。LastIndex 屬性包含了最后一次匹配中最后一個字符的下一個位置。如果沒有設置全局標志 (g),數組的 0 元素包含整個匹配,而第 1 到 n 元素包含了匹配中曾出現過的任一個子匹配。這相當于沒有設置全局標志的 exec 方法。如果設置了全局標志,元素 0 到 n 中包含所有匹配。

示例
下面的示例演示了match 方法的用法:

function MatchDemo()
{
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain";
re = /ain/i; // 創建正則表達式模式。
r = s.match(re); // 嘗試匹配搜索字符串。
return(r); // 返回第一次出現 "ain" 的地方。
}
返回值:ain

本示例說明帶 g 標志設置的 match 方法的用法。

function MatchDemo()
{
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain";
re = /ain/ig; // 創建正則表達式模式。
r = s.match(re); // 嘗試去匹配搜索字符串。
return(r); // 返回的數組包含了所有 "ain"
// 出現的四個匹配。
}
返回值:ain,ain,ain,ain

上面幾行代碼演示了字符串文字的 match 方法的用法。

var r, re = "Spain";
r = "The rain in Spain".replace(re, "Canada");
return r;
返回值:The rain in Canada

search 方法

返回與正則表達式查找內容匹配的第一個子字符串的位置。

stringObj.search(rgExp)

參數
stringObj 必選項。要在其上進行查找的 String 對象或字符串文字。

rgExp 必選項。包含正則表達式模式和可用標志的正則表達式對象。

說明

search 方法指明是否存在相應的匹配。如果找到一個匹配,search 方法將返回一個整數值,指明這個匹配距離字符串開始的偏移位置。如果沒有找到匹配,則返回 -1。

示例
下面的示例演示了 search 方法的用法。

function SearchDemo()
{
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain.";
re = /falls/i; // 創建正則表達式模式。
r = s.search(re); // 查找字符串。
return(r); // 返回 Boolean 結果。
}
返回值:18

?

正則表達式語法

一個正則表達式就是由普通字符(例如字符 a 到 z)以及特殊字符(稱為元字符)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。

這里有一些可能會遇到的正則表達式示例:

JScript VBScript 匹配
/^"[ "t]*$/ "^"[ "t]*$" 匹配一個空白行。
/"d{2}-"d{5}/ ""d{2}-"d{5}" 驗證一個ID 號碼是否由一個2位數字,一個連字符以及一個5位數字組成。
/<(.*)>.*<"/"1>/ "<(.*)>.*<"/"1>" 匹配一個 HTML 標記。

下表是元字符及其在正則表達式上下文中的行為的一個完整列表:

字符 描述 " 將下一個字符標記為一個特殊字符、或一個原義字符、或一個 后向引用、或一個八進制轉義符。例如,'n' 匹配字符 "n"。'"n' 匹配一個換行符。序列 '
' 匹配 """ 而 ""(" 則匹配 "("。

^ 匹配輸入字符串的開始位置。如果設置了 RegExp 對象的 Multiline 屬性,^ 也匹配 '"n' 或 '"r' 之后的位置。

$ 匹配輸入字符串的結束位置。如果設置了RegExp 對象的 Multiline 屬性,$ 也匹配 '"n' 或 '"r' 之前的位置。

  • 匹配前面的子表達式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等價于{0,}。

+ 匹配前面的子表達式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價于 {1,}。

? 匹配前面的子表達式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等價于 {0,1}。

{n} n 是一個非負整數。匹配確定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的兩個 o。

{n,} n 是一個非負整數。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等價于 'o+'。'o{0,}' 則等價于 'o*'。

{n,m} m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。劉, "o{1,3}" 將匹配 "fooooood" 中的前三個 o。'o{0,1}' 等價于 'o?'。請注意在逗號和兩個數之間不能有空格。

? 當該字符緊跟在任何一個其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜索的字符串,而默認的貪婪模式則盡可能多的匹配所搜索的字符串。例如,對于字符串 "oooo",'o+?' 將匹配單個 "o",而 'o+' 將匹配所有 'o'。

. 匹配除 ""n" 之外的任何單個字符。要匹配包括 '"n' 在內的任何字符,請使用象 '[."n]' 的模式。 (pattern) 匹配pattern 并獲取這一匹配。所獲取的匹配可以從產生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中則使用 $0…$9 屬性。要匹配圓括號字符,請使用 '"(' 或 '")'。

(?:pattern) 匹配 pattern 但不獲取匹配結果,也就是說這是一個非獲取匹配,不進行存儲供以后使用。這在使用 "或" 字符 (|) 來組合一個模式的各個部分是很有用。例如, 'industr(?:y|ies) 就是一個比 'industry|industries' 更簡略的表達式。

(?=pattern) 正向預查,在任何匹配 pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。預查不消耗字符,也就是說,在一個匹配發生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預查的字符之后開始。

(?!pattern) 負向預查,在任何不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。預查不消耗字符,也就是說,在一個匹配發生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預查的字符之后開始

x|y 匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 則匹配 "zood" 或 "food"。

[xyz] 字符集合。匹配所包含的任意一個字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。

[^xyz] 負值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。

[a-z] 字符范圍。匹配指定范圍內的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范圍內的任意小寫字母字符。

[^a-z] 負值字符范圍。匹配任何不在指定范圍內的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范圍內的任意字符。

"b 匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'er"b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。

"B 匹配非單詞邊界。'er"B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。

"cx 匹配由x指明的控制字符。例如, "cM 匹配一個 Control-M 或回車符。 x 的值必須為 A-Z 或 a-z 之一。否則,將 c 視為一個原義的 'c' 字符。

"d 匹配一個數字字符。等價于 [0-9]。

"D 匹配一個非數字字符。等價于 [^0-9]。

"f 匹配一個換頁符。等價于 "x0c 和 "cL。

"n 匹配一個換行符。等價于 "x0a 和 "cJ。

"r 匹配一個回車符。等價于 "x0d 和 "cM。

"s 匹配任何空白字符,包括空格、制表符、換頁符等等。等價于 [ "f"n"r"t"v]。

"S 匹配任何非空白字符。等價于 [^ "f"n"r"t"v]。

"t 匹配一個制表符。等價于 "x09 和 "cI。

"v 匹配一個垂直制表符。等價于 "x0b 和 "cK。

"w 匹配包括下劃線的任何單詞字符。等價于'[A-Za-z0-9_]'。

"W 匹配任何非單詞字符。等價于 '[^A-Za-z0-9_]'。

"xn 匹配 n,其中 n 為十六進制轉義值。十六進制轉義值必須為確定的兩個數字長。例如, '"x41' 匹配 "A"。'"x041' 則等價于 '"x04' & "1"。正則表達式中可以使用 ASCII 編碼。.

"num 匹配 num,其中 num 是一個正整數。對所獲取的匹配的引用。例如,'(.)"1' 匹配兩個連續的相同字符。

"n 標識一個八進制轉義值或一個后向引用。如果 "n 之前至少 n 個獲取的子表達式,則 n 為后向引用。否則,如果 n 為八進制數字 (0-7),則 n 為一個八進制轉義值。

"nm 標識一個八進制轉義值或一個后向引用。如果 "nm 之前至少有is preceded by at least nm 個獲取得子表達式,則 nm 為后向引用。如果 "nm 之前至少有 n 個獲取,則 n 為一個后跟文字 m 的后向引用。如果前面的條件都不滿足,若 n 和 m 均為八進制數字 (0-7),則 "nm 將匹配八進制轉義值 nm。

"nml 如果 n 為八進制數字 (0-3),且 m 和 l 均為八進制數字 (0-7),則匹配八進制轉義值 nml。

"un 匹配 n,其中 n 是一個用四個十六進制數字表示的 Unicode 字符。例如, "u00A9 匹配版權符號 (?)。

?

優先權順序

在構造正則表達式之后,就可以象數學表達式一樣來求值,也就是說,可以從左至右并按照一個優先權順序來求值。

下表從最高優先級到最低優先級列出各種正則表達式操作符的優先權順序:

操作符 描述
" 轉義符
(), (?:), (?=), [] 圓括號和方括號
*, +, ?, {n}, {n,}, {n,m} 限定符
^, $, "anymetacharacter 位置和順序
| “或”操作

普通字符

普通字符由所有那些未顯式指定為元字符的打印和非打印字符組成。這包括所有的大寫和小寫字母字符,所有數字,所有標點符號以及一些符號。

最簡單的正則表達式是一個單獨的普通字符,可以匹配所搜索字符串中的該字符本身。例如,單字符模式 'A' 可以匹配所搜索字符串中任何位置出現的字母 'A'。這里有一些單字符正則表達式模式的示例:

/a/
/7/
/M/
等價的 VBScript 單字符正則表達式為: "a"
"7"
"M"
可以將多個單字符組合在一起得到一個較大的表達式。例如,下面的 JScript 正則表達式不是別的,就是通過組合單字符表達式 'a'、'7'以及 'M' 所創建出來的一個表達式。

/a7M/ 等價的 VBScript 表達式為:

"a7M" 請注意這里沒有連接操作符。所需要做的就是將一個字符放在了另一個字符后面。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的JS正则表达式详解(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产天天爽 | 97在线观看视频国产 | 精品国产乱码久久久久久三级人 | 美女精品久久 | 一区在线观看视频 | 在线成人高清电影 | 麻豆av一区二区三区在线观看 | 国产日产精品久久久久快鸭 | 日韩免费在线一区 | 日日麻批40分钟视频免费观看 | 中文字幕专区高清在线观看 | 久久国产精品久久w女人spa | 欧美性生活免费 | 色五月成人 | 69av在线播放| 在线播放日韩av | 91片黄在线观看 | 天天天天综合 | 免费精品久久久 | 草莓视频在线观看免费观看 | 久久久久久国产精品999 | 99视频国产在线 | 久久99精品热在线观看 | 国产淫a| 日韩精品一区二区三区在线播放 | 在线亚洲欧美视频 | 97精品国产手机 | 97精品国自产拍在线观看 | 亚洲国产精品一区二区尤物区 | 久草视频手机在线 | 成人羞羞视频在线观看免费 | 在线电影 一区 | 91精品国产麻豆 | 91在线视频免费 | 天天做天天爱夜夜爽 | 毛片视频网址 | 精品中文字幕在线播放 | 色婷婷国产精品 | 66av99精品福利视频在线 | 亚洲综合色视频 | 婷婷伊人五月 | 欧美成人精品三级在线观看播放 | 成人在线播放视频 | 欧美性视频网站 | 天天操天天射天天爽 | 久久久五月婷婷 | 欧美成年网站 | 在线观看av免费 | 国产一二三区av | 我爱av激情网 | 91探花国产综合在线精品 | 日本精品二区 | 天天草天天干天天 | 999日韩 | 91精品久久久久久久99蜜桃 | 丁香视频免费观看 | 黄色一二级片 | 丁香花在线观看视频在线 | 久久婷婷网 | 国产成人福利在线观看 | 婷婷色伊人 | 黄色av网站在线观看免费 | 日韩欧美国产激情在线播放 | 97在线观看免费高清 | 国产黄在线 | 91大神dom调教在线观看 | 色综合久久综合中文综合网 | 在线观看韩日电影免费 | 色夜视频 | 国产视频在线看 | 亚洲成人av在线电影 | 中文字幕精品三区 | 日本黄色大片免费看 | 天天操夜夜看 | 日韩精品1区2区 | 99色在线 | 免费观看成年人视频 | 中文字幕在线播放日韩 | 狠狠成人| 99精品视频观看 | 国产一区二区三区四区大秀 | 在线视频婷婷 | 国产日韩视频在线 | 91一区二区三区久久久久国产乱 | 最近更新好看的中文字幕 | 国产裸体无遮挡 | 超碰人在线 | 天天射综合网站 | 免费看国产精品 | 国产精品国产三级国产不产一地 | 久久综合狠狠综合久久激情 | 国产精久久久 | 在线天堂日本 | 狠狠干狠狠艹 | 色哟哟国产精品 | 国产精品毛片一区视频 | 亚洲最大色 | 亚洲91精品在线观看 | 在线观看91久久久久久 | 91av社区| 欧美三级高清 | 日韩精品无码一区二区三区 | 久久在现 | 99se视频在线观看 | 国产免费久久av | 9999精品 | 午夜91视频 | 亚洲国产中文字幕在线 | 日韩三级av | 国产日韩欧美在线观看视频 | 久草色在线观看 | 欧美一级在线观看视频 | 免费a现在观看 | 欧美一区二区精品在线 | 麻豆视频国产在线观看 | 色欧美成人精品a∨在线观看 | 国产xxxx性hd极品 | 热久久国产精品 | 色视频 在线 | 4438全国亚洲精品在线观看视频 | 超碰在线97观看 | 精品久久久久久国产偷窥 | 久久久久久久国产精品 | 久草在线在线视频 | mm1313亚洲精品国产 | 在线观看免费色 | 美女久久久久 | 亚洲免费国产视频 | av免费观看网站 | a成人v | 国产成人久久精品一区二区三区 | 日韩久久久久久久久 | 激情电影影院 | 久久不卡视频 | 国产成人黄色在线 | 9999毛片| 欧美国产精品久久久久久免费 | 欧美一级黄色片 | 99精品在线免费观看 | 成人久久久久久久久久 | 日韩激情第一页 | 日韩免费在线视频观看 | 韩国精品一区二区三区六区色诱 | 国产精品va在线 | 三级视频国产 | 成人在线免费视频 | 亚洲精品视频在线 | www.69xx| 5月丁香婷婷综合 | 日韩免费看片 | 国产视频在线观看一区二区 | 91在线免费播放视频 | 成人亚洲精品久久久久 | 国产亚洲精品无 | 亚洲一区二区三区91 | 精品国产一区二 | 国产aa免费视频 | 99色精品视频 | 亚洲午夜激情网 | 高清av免费观看 | 五月天,com| 在线观看理论 | 日韩理论电影在线观看 | 亚洲综合在线播放 | 久久欧洲视频 | 欧美 亚洲 另类 激情 另类 | www.夜夜操.com | 悠悠av资源片 | 亚洲精品一区二区三区新线路 | 丁香视频 | 国产无限资源在线观看 | 成人h在线观看 | 成人免费观看视频大全 | 精品国产色 | 亚洲黄色av网址 | 欧美色一色| 91精品老司机久久一区啪 | 久久伦理网 | 黄色毛片在线观看 | 国产中文视频 | 天天搞天天 | 亚洲欧美视频 | 婷婷色网址 | 久久夜色电影 | 国产精品1000 | 午夜av网站 | 中文字幕 国产精品 | 午夜美女视频 | 在线观看mv的中文字幕网站 | 免费看黄色大全 | 午夜精品久久久久久久99婷婷 | 黄色成人免费电影 | 婷婷亚洲五月 | 97超碰人人网 | 五月激情综合婷婷 | 午夜视频免费播放 | 人人爽人人搞 | 国产亚洲一区二区三区 | 色多多视频在线观看 | 日韩精品视频在线观看免费 | 91麻豆产精品久久久久久 | 天天操夜夜想 | 日韩有码网站 | 久久日本视频 | av国产在线观看 | 麻豆视频免费在线观看 | 丝袜美腿av | 国产视频 久久久 | 丁香激情五月 | 久久视频在线免费观看 | a级一a一级在线观看 | 亚洲人成人在线 | 97碰碰碰| 成人va在线观看 | 精品电影一区 | 久久久天堂 | 欧美日韩成人 | 国产高清不卡av | 久久艹精品 | 在线免费观看麻豆视频 | 久久草在线免费 | 精品毛片久久久久久 | 国产精品久久久久久久久久白浆 | 日韩精品久久久 | 六月丁香激情综合 | 99精品毛片 | 久久精品视频在线看 | 精品久久免费 | 国产精品美女久久久久久久久久久 | 一区二区中文字幕在线观看 | 96av麻豆蜜桃一区二区 | 天天爱天天射天天干天天 | 在线免费高清一区二区三区 | 亚洲三级视频 | 久久爱导航 | 亚洲精品视频一二三 | 国产精美视频 | 国产精品久久久久久久久婷婷 | 久草精品在线观看 | 中文字幕乱码日本亚洲一区二区 | 成人av在线播放网站 | 伊人五月天.com | 亚洲毛片在线观看. | 久久综合中文色婷婷 | 激情五月激情综合网 | 日本性xxx| 国产高清免费在线观看 | 欧美 日韩 视频 | 国产精品黄网站在线观看 | 精品国产aⅴ一区二区三区 在线直播av | 日韩在线观看视频免费 | 天天天天天天操 | 精品视频成人 | 久久免费视频在线观看6 | 美女视频久久久 | 夜夜躁狠狠躁日日躁视频黑人 | 日本免费久久高清视频 | 亚洲视频h | 激情校园亚洲 | 国产精品久久久久久久久大全 | 天天弄天天干 | 97精品国产97久久久久久粉红 | 在线有码中文字幕 | 国产一级黄色免费看 | 国产精品久久久久久久久免费看 | 亚洲综合在线观看视频 | 亚洲一区二区视频 | 97精品国产一二三产区 | 国产最新视频在线观看 | 丁香婷婷激情 | 欧美精品免费在线观看 | 国产精品18久久久久久久 | 不卡视频一区二区三区 | 一二三区视频在线 | 国产精品6999成人免费视频 | 福利电影一区二区 | 精品久久久久一区二区国产 | 国产一在线精品一区在线观看 | 亚洲 欧美 精品 | 国产精品九九九九九九 | 国产免费影院 | 美女露久久 | 国产伦精品一区二区三区在线 | 亚洲黄色影院 | 国产一区二区不卡在线 | 国产91九色视频 | 男女激情麻豆 | 久久综合网色—综合色88 | 午夜国产在线观看 | 国产精品小视频网站 | 亚洲精品在线观看av | 日韩在线播放视频 | 欧美日韩精品网站 | 一级片免费观看视频 | 99在线观看视频网站 | 亚洲精品动漫成人3d无尽在线 | 天天爱天天射天天干天天 | 中文字幕av网站 | 丝袜av网站 | 久久综合桃花 | 在线欧美最极品的av | 久久综合综合久久综合 | 欧美91精品国产自产 | 91正在播放 | 久久福利小视频 | 一区二区三区视频在线 | 日韩三区在线 | 午夜色性片 | 最近高清中文在线字幕在线观看 | 日韩欧美在线观看一区二区 | 国产精品一区二区电影 | 91av手机在线观看 | 狠狠色狠狠色综合日日小说 | 麻豆播放| 91麻豆精品久久久久久 | 成人黄色av网站 | 欧美性做爰猛烈叫床潮 | 探花国产在线 | 四虎国产精品永久在线国在线 | 少妇bbr搡bbb搡bbb | 91精品国产成人 | 福利av影院 | 日本久久高清视频 | 久久综合给合久久狠狠色 | 久久国产精品视频观看 | 性日韩欧美在线视频 | 在线看91| 亚洲aⅴ一区二区三区 | 色狠狠综合天天综合综合 | 日本久久电影 | 免费碰碰 | 免费视频91蜜桃 | 国产福利在线免费观看 | 激情丁香综合 | 久草在线免费资源 | 最近2019中文免费高清视频观看www99 | 91尤物国产尤物福利在线播放 | 国际精品久久久久 | 91九色丨porny丨丰满6 | 一级黄色在线免费观看 | 激情综合啪啪 | 日韩在线观看中文字幕 | 日韩欧美在线观看一区 | 亚洲在线成人精品 | 日韩艹 | av中文电影 | 美女免费视频一区二区 | 亚洲最新毛片 | 国产精品video爽爽爽爽 | 日韩精品一区不卡 | 麻豆果冻剧传媒在线播放 | 欧美在线aa | 久久精品黄色 | 日日干夜夜骑 | 97成人资源 | 午夜久久久久久久 | 四虎最新域名 | 可以免费观看的av片 | 亚洲综合视频在线观看 | 欧美日本一二三 | 国产成人精品一区二区三区福利 | 伊人久久国产精品 | 96精品在线 | 在线有码中文字幕 | 亚洲另类视频在线 | 国产精品久久久av久久久 | 成人小视频在线 | 午夜黄色影院 | 国产91在| 国产91精品看黄网站 | 成人黄色毛片 | 国语久久 | 国产精品久久久久久久久久白浆 | 九九视频一区 | 色wwwww| 麻豆播放| 91女神的呻吟细腰翘臀美女 | 婷婷色狠狠 | 久久av中文字幕片 | 色网站在线免费观看 | 久草视频免费看 | 奇米网在线观看 | 日韩在线三区 | 欧美久久成人 | 色综合久久综合中文综合网 | 国产91勾搭技师精品 | 日韩午夜电影院 | 国产午夜精品一区二区三区在线观看 | 亚洲成人家庭影院 | 性色av免费在线观看 | 大片网站久久 | 亚洲欧美日韩在线一区二区 | 狠狠色婷婷丁香六月 | 久久久精品国产一区二区电影四季 | 黄色大全在线观看 | 狠狠操在线 | 六月丁香婷婷在线 | 狠狠色丁香婷婷综合 | 亚洲国产色一区 | 成人91视频| 99久久这里只有精品 | 亚洲欧美在线视频免费 | 最新中文字幕在线观看视频 | 久久久亚洲影院 | 黄色www | 有码一区二区三区 | 国产字幕在线看 | 亚洲国产精品视频在线观看 | 亚洲aⅴ在线 | 久艹在线免费观看 | 免费在线播放视频 | 在线亚洲人成电影网站色www | 欧美一二区在线 | 国产精品第7页 | 黄色av免费 | 91精品视频免费看 | 欧美日韩在线免费视频 | 国产剧情一区二区 | 亚洲女人av | 国产精品久久久久免费观看 | 欧美精品一区二区三区一线天视频 | 国产精品观看在线亚洲人成网 | 欧美日韩国产精品一区二区三区 | 99在线视频免费观看 | 亚洲国产精品免费 | www.一区二区三区 | 狠狠狠狠狠狠操 | 亚洲乱码在线观看 | 色婷婷成人网 | 在线免费观看羞羞视频 | 五月激情六月丁香 | 99免费国产 | 亚洲综合导航 | 福利视频一区二区 | 中文字幕韩在线第一页 | 午夜体验区 | 男女全黄一级一级高潮免费看 | 日韩久久久久久久久久久久 | 亚洲国产中文字幕在线观看 | 久久久国产影视 | 日韩免费精品 | 国产麻豆成人传媒免费观看 | 日本色小说视频 | av成人免费网站 | 91视频免费看网站 | 天天色中文 | 欧美精品久久久久久久久久久 | 久久久91精品国产一区二区三区 | 激情久久伊人 | 久久毛片网站 | 97在线观 | 中文字幕在线视频免费播放 | 亚洲人成网站精品片在线观看 | 久久久久福利视频 | av免费在线观看网站 | 国产日韩欧美在线影视 | 91桃色在线免费观看 | 日韩在线一区二区免费 | 深爱激情av| 福利视频网站 | 97精品国产91久久久久久久 | 国产精品一区二区久久 | 久久国产女人 | 久久国产免| 日韩在线视频观看免费 | 中文字幕第一页在线视频 | 美国三级黄色大片 | 精品国产区 | 在线观看中文字幕2021 | 免费成人av在线 | 日韩精品视频免费看 | 国产韩国日本高清视频 | 亚洲综合激情小说 | 色狠狠操 | 国语精品久久 | 国产精品国产三级国产 | 97碰在线 | 久久精品国产一区二区电影 | av电影在线观看完整版一区二区 | 日批视频在线观看免费 | 久久综合精品一区 | 久久香蕉一区 | 亚洲女同videos | 日韩成人精品一区二区 | 麻豆va一区二区三区久久浪 | 免费看毛片在线 | 91在线日韩 | 中文字幕在线看视频国产中文版 | 中文一二区 | 久久在线免费视频 | 日日天天干 | 超碰免费久久 | www免费看 | 激情五月婷婷综合网 | 2023年中文无字幕文字 | 一区二区视频网站 | 久久综合久久综合久久综合 | 国产午夜精品久久久久久久久久 | 九九一级片| 最新精品国产 | 亚洲成人精品av | 亚洲夜夜综合 | 欧美一级性| 精品产品国产在线不卡 | 久久成人精品视频 | 亚洲精品在线国产 | 成年人免费av网站 | 97超碰影视 | 免费看的黄色片 | 亚洲一二区精品 | av免费看av | 99精品久久99久久久久 | 国语精品免费视频 | 亚洲 欧美 变态 国产 另类 | 日韩一区二区久久 | 国内精品一区二区 | 337p日本大胆噜噜噜噜 | av片中文字幕 | 在线观看成人国产 | 日韩免费观看av | 亚洲 欧美变态 另类 综合 | 麻豆视频国产在线观看 | 欧美va天堂在线电影 | 国产原厂视频在线观看 | 国产精品久久久久永久免费看 | 男女视频国产 | 色视频网址| 91pony九色丨交换 | 日本中文字幕电影在线免费观看 | 久久伊人综合 | 日韩在线高清免费视频 | 色久av | 国产高清视频网 | 国产精品扒开做爽爽的视频 | 天天草天天摸 | 久草在线这里只有精品 | 国产首页 | 日本一区二区三区免费观看 | 天天综合成人 | 国产成人av| 黄污污网站 | 国产免费黄视频在线观看 | 三级av免费| 一区久久久| 国产精品久久久久久久久久妇女 | 深夜福利视频在线观看 | 亚洲专区免费观看 | 一区二区三区免费播放 | 一区二区三区免费在线 | 五月婷婷丁香 | 狠狠色丁香婷婷综合久久片 | 国产成人一区二区三区 | 丝袜美腿在线 | 91看片麻豆| 亚洲成aⅴ人片久久青草影院 | av免费观看网站 | 国产精品6999成人免费视频 | 黄色免费看片网站 | 天天色棕合合合合合合 | 欧美日韩在线视频一区 | 亚洲精品国产精品国产 | 日韩91在线 | 亚洲精品男人天堂 | 啪啪凸凸 | 国产麻豆精品免费视频 | 狠狠干 狠狠操 | 欧美嫩草影院 | 国产精品久久9 | 丁香婷婷综合色啪 | 一区免费视频 | 精品电影一区二区 | 久视频在线播放 | 少妇啪啪av入口 | 久久精品亚洲一区二区三区观看模式 | 超碰公开在线观看 | 亚洲一片黄| 亚洲成av人片在线观看www | 18女毛片 | 亚洲成av人电影 | 久久国语露脸国产精品电影 | 久久精品一二三区 | 国产精品女主播一区二区三区 | 欧美一区二区三区在线播放 | 在线 成人 | 欧美日韩二三区 | 超碰在线中文字幕 | 黄色毛片大全 | 日本护士撒尿xxxx18 | 色综合天天天天做夜夜夜夜做 | 免费午夜视频在线观看 | 最新影院 | 久久精品99久久 | 亚洲国产中文字幕在线观看 | 日韩剧| 免费看短 | 亚洲视频 在线观看 | 久久久91精品国产一区二区三区 | 亚洲国产精品一区二区久久hs | 97免费中文视频在线观看 | 深夜男人影院 | 夜夜操天天干, | 国产精品久久久av久久久 | 一区二区三区免费在线观看视频 | 日韩精品中文字幕在线 | 天天玩天天干天天操 | 97精品超碰一区二区三区 | 九九有精品 | 日韩欧美高清在线观看 | 一区二区三区在线视频111 | 国产香蕉97碰碰碰视频在线观看 | 亚洲一级免费观看 | 国产成人精品一区一区一区 | 免费在线观看国产黄 | 国产一级片一区二区三区 | 婷婷伊人五月天 | 久久综合中文色婷婷 | 91精品秘密在线观看 | 91资源在线视频 | 欧美成人日韩 | 亚洲精品美女在线 | 天天操天天干天天干 | 免费在线观看黄色网 | av在线免费播放 | 免费日韩一区二区三区 | 国产在线一线 | 中文字幕国产精品 | 日本不卡123区 | 成人av免费看 | 欧美一级裸体视频 | 国产精品v欧美精品v日韩 | 中文字幕av影院 | 成人av视屏 | 国产精品一区二区久久 | 国产精品美女久久久久久2018 | 亚洲人成精品久久久久 | 国产亚洲欧美在线视频 | 国产高清视频在线播放一区 | 亚洲国产999 | mm1313亚洲精品国产 | 美女亚洲精品 | 日产中文字幕 | 97超碰人人澡 | 午夜精品久久久久久久99 | 国产欧美精品一区二区三区四区 | 国产精品一区二区白浆 | 黄色在线观看免费网站 | 国产精品久久久久久久久久99 | 一区二区三区四区免费视频 | 亚洲精品一区二区网址 | 国产亚州精品视频 | 国产精品久久久久久久久久久久午 | 狠狠操夜夜 | 久久久精品久久 | 国产在线不卡精品 | 国产亚洲情侣一区二区无 | 黄色av成人在线 | 日韩欧美精品在线视频 | www.国产毛片 | 日本激情中文字幕 | 国产特级毛片 | 天天操天天操一操 | 欧美日韩在线视频免费 | 天天干亚洲 | 一区二区三区免费在线播放 | 天天色棕合合合合合合 | 免费观看久久久 | 日韩一区二区三免费高清在线观看 | 狂野欧美激情性xxxx欧美 | 日韩久久精品一区二区三区 | 亚洲毛片视频 | 最近中文字幕高清字幕免费mv | 夜又临在线观看 | 视频一区二区在线 | 日韩欧美视频免费在线观看 | 五月婷婷,六月丁香 | 二区中文字幕 | 精品国内自产拍在线观看视频 | 欧美性生活免费看 | 成人在线电影观看 | 99精彩视频在线观看免费 | 在线国产日韩 | 99精品视频在线免费观看 | 91精品对白一区国产伦 | 又黄又爽又色无遮挡免费 | 日韩欧美电影网 | 天天干中文字幕 | 午夜精品久久久久久久久久久久 | 91精品国产亚洲 | 中文字幕黄网 | 69久久久 | 久久区二区 | 激情av综合 | 久久综合导航 | 国产亚洲资源 | 国产精品成人a免费观看 | 亚洲高清视频一区二区三区 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲综合在线五月 | 日日干夜夜操视频 | 91麻豆福利 | 欧美a视频在线观看 | 久久不射电影院 | 在线播放国产一区二区三区 | 日日夜夜狠狠 | 中文字幕 国产 一区 | 久精品视频免费观看2 | www.干| 成人av免费在线播放 | 国产精品欧美久久 | 成人午夜影院在线观看 | 久草影视在线观看 | 精品黄色在线观看 | 激情婷婷av | 超碰九九 | 欧美日韩视频在线一区 | 五月天天av | 精品亚洲va在线va天堂资源站 | 成人h电影在线观看 | 日韩理论电影在线 | 日本久热 | 欧美网址在线观看 | 天干啦夜天干天干在线线 | 波多野结衣视频一区 | 久久综合狠狠综合 | 天天干天天干天天干天天干天天干天天干 | 永久黄网站色视频免费观看w | 91精品啪在线观看国产81旧版 | 五月开心色 | 天天射天天爱天天干 | 亚洲aⅴ乱码精品成人区 | 欧日韩在线视频 | wwwwww色 | 看国产黄色大片 | 在线看v片成人 | 日日碰狠狠躁久久躁综合网 | 天天天干天天天操 | 综合色影院 | 免费开视频 | 91亚·色 | av综合站 | 四虎在线免费观看 | 亚洲精品国偷自产在线91正片 | 国产涩涩网站 | 一区二区三区四区五区在线视频 | 成年人免费在线 | 久久免费视频4 | 亚洲精品1234区 | 色91在线| 日韩特级片 | 天天操操操操操操 | 久久69精品 | 久草在线在线精品观看 | 久久久久国产一区二区三区 | 精品久久在线 | 色91在线视频| 99久久激情视频 | 久草在线视频网 | 国产成人av网站 | 日韩中文字幕免费在线播放 | 激情影院在线 | 日韩欧美一区视频 | www.超碰 | 欧美专区日韩专区 | 国产精品96久久久久久吹潮 | 天天艹天天 | 日韩在线观看你懂得 | 国产精品久久久区三区天天噜 | 97人人人 | 五月婷婷综合色拍 | 精品国产电影一区 | 久久在线视频在线 | 日韩特级黄色片 | 免费网站看v片在线a | 国产精品国产三级国产不产一地 | 91在线入口 | 一级黄视频 | 国产高清一区二区 | 少妇按摩av | 久久免费视频一区 | 久久免费美女视频 | 一区二区三区在线观看免费 | 日韩精品在线视频 | 午夜精品一二三区 | 夜夜躁狠狠躁 | 天天操狠狠干 | 国产精品麻豆99久久久久久 | 99久久精品国产亚洲 | 久久免费视频这里只有精品 | 天天色天天操天天爽 | 国产在线污 | 国产精品嫩草在线 | 日日爽夜夜爽 | 亚洲无吗av | 日韩激情久久 | 欧美日韩免费视频 | 久久99亚洲热视 | 六月激情婷婷 | 日韩精品中文字幕在线 | 免费在线观看中文字幕 | 精品一二三四视频 | 91视频免费观看 | www.狠狠操.com | 久久久久久欧美二区电影网 | 亚洲资源在线网 | 91漂亮少妇露脸在线播放 | 欧美精品国产精品 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久伊人精品一区二区三区 | 亚洲欧美日韩国产精品一区午夜 | 免费69视频 | 亚洲精品动漫成人3d无尽在线 | 狠狠色丁香婷婷综合 | 91桃色免费视频 | 久久草| 国产清纯在线 | 91精彩视频 | 久久免费国产电影 | 又色又爽又黄高潮的免费视频 | 午夜美女av| 亚洲精品一区二区三区新线路 | 99久久精品免费看国产麻豆 | 国产操在线 | 国产一级片久久 | 日日夜夜免费精品 | 日韩免费一二三区 | 四虎在线免费观看 | 超碰伊人网 | 欧洲精品视频一区二区 | 一级黄色在线免费观看 | 亚洲欧美视频在线观看 | 久久国产成人午夜av影院宅 | 看av免费 | 在线亚洲人成电影网站色www | 午夜私人影院 | 日日草av| 亚洲精品久久久蜜臀下载官网 | 免费日韩一区二区三区 | 欧美日韩中| 日韩中文在线电影 | 国产不卡视频在线播放 | 久免费 | 96久久久 | 国产精品高清一区二区三区 | 久久不射影院 | 午夜电影久久 | 久久久精品一区二区三区 | 欧美激情xxxx性bbbb | 色停停五月天 | 国产精品视频免费看 | 国产剧情一区二区在线观看 | a在线播放 | 四虎影视国产精品免费久久 | 国产亚洲婷婷 | 欧美一级性生活 | 91秒拍国产福利一区 | 九九免费观看全部免费视频 | 黄污视频网站大全 | 久久艹综合 | 一区二区网 | 五月天com | 久保带人 | 日韩有码第一页 | 性色av一区二区三区在线观看 | 国产精品网在线观看 | 久久与婷婷| 在线www色 | 久久亚洲免费视频 | 视频一区亚洲 | 国产精品久久久久久久久久久不卡 | 国产色女人 | 国产精品情侣视频 | 国产精品视频专区 | 国产视频综合在线 | 久久成人综合 | 国产精品专区h在线观看 | 亚洲一级免费电影 | 亚洲欧美日韩精品久久久 | 天天爱天天爽 | 国产一区二区精品久久91 | 91禁在线观看| 国产视频一区二区在线播放 | 国产精品白浆 | 欧美日本一二三 | 97超碰在线视 | 欧美一区二区三区在线视频观看 | 日韩欧美高清一区二区 | 天天干国产 | 日韩v在线| av黄色在线观看 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 日本韩国精品一区二区在线观看 | 欧美a视频在线观看 | 国产资源免费在线观看 | 超碰成人网 | 国产中文a | 久久草草影视免费网 | 国产精品久久在线 | 91亚洲夫妻 | 亚洲一区天堂 | 夜夜夜夜爽 | 亚洲涩涩色 | 国产香蕉97碰碰久久人人 | 狠狠干 狠狠操 | 99精品在线免费视频 | 青青草国产精品 | 日本中文字幕免费观看 | 色综合久久88色综合天天人守婷 | 免费三级在线 | 亚洲国产精品视频在线观看 | 亚洲婷婷综合色高清在线 | 四虎永久免费在线观看 | 日本久久久久 | 国产精品第二十页 | 欧美精品久久人人躁人人爽 | 视频直播国产精品 | 又黄又爽又刺激的视频 | 国产精品一区二区麻豆 | 国产亚洲精品久久久久久久久久久久 | 国产精品原创av片国产免费 | 久久久综合 | 婷婷六月丁香激情 | 粉嫩一区二区三区粉嫩91 | 97人人澡人人添人人爽超碰 | 激情五月开心 | 日韩毛片在线一区二区毛片 | 亚洲一级片 | 97国产大学生情侣酒店的特点 | 国内99视频| 成人黄色影片在线 | 狠狠撸电影 | 狠狠干网址 | 国产美女搞久久 | 在线成人性视频 | 色偷偷88888欧美精品久久 | 国产成人久久精品77777综合 | 天天拍天天色 | 在线观看aaa | 国产91对白在线播 | 夜夜躁狠狠躁日日躁视频黑人 | 狠狠狠狠狠干 | 国内精自线一二区永久 | 中文字幕日韩国产 | 精品一区三区 | 玖玖999| 免费在线观看毛片网站 | 有码视频在线观看 | 一区三区视频在线观看 | 精品久久久久久电影 | 国产又粗又猛又色又黄视频 | 国产中文字幕91 | 精品久久久久久久久久久院品网 | 日日夜夜av | 亚洲精品中文在线观看 | 天天干夜夜操视频 | 91精品在线免费观看 | 亚洲自拍偷拍色图 | 91传媒免费观看 | 青青河边草观看完整版高清 | 日韩在线视频一区 | 黄色一级在线免费观看 | 欧美日韩在线电影 | 一区二区三区四区在线 | 成年人免费在线观看网站 | 二区在线播放 | 国产精品毛片一区二区三区 | 久久精品国产精品亚洲 | 免费成人结看片 | 天天·日日日干 | 奇米网777| 免费久久久久久久 | 亚洲视频h | 国产区网址 | 成人一级视频在线观看 | 久久精品久久久久久久 | 久久96国产精品久久99软件 | 久久国产精品99精国产 | 美女天天操 | 日韩系列在线 | 亚洲激情网站免费观看 | 一区二区三区四区在线 | 99热精品久久 | 天天天色综合 | 在线免费观看黄色 | 韩日三级av| 美女视频黄是免费的 | 久久99精品久久久久久三级 | 麻豆精品国产传媒 | 欧美狠狠操| 久久免费视频这里只有精品 | 国产粉嫩在线 | 中文字幕二区在线观看 | 欧美一级片在线观看视频 | 国产中文字幕网 | 精品一区二区在线看 | 99久久综合狠狠综合久久 | 成人黄色资源 | 日韩在线观看的 | 中文字幕一区二区三区乱码在线 |