<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0

    正則表達(dá)式(regular expression)對象包含一個正則表達(dá)式模式(pattern)。它具有用正則表達(dá)式模式去匹配或代替一個字符串(string)中特定字符(或字符集合)的屬性(properties)和方法(methods)。 要為一個單獨(dú)的正則表達(dá)式添加屬性,可以使用正則表達(dá)式構(gòu)造函數(shù)(constructor function),無論何時被調(diào)用的預(yù)設(shè)置的正則表達(dá)式擁有靜態(tài)的屬性(the predefined RegExp object has static properties that are set whenever any regular expression is used, 我不知道我翻得對不對,將原文列出,請自行翻譯)。

    創(chuàng)建:
    一個文本格式或正則表達(dá)式構(gòu)造函數(shù)
    文本格式: /pattern/flags
    正則表達(dá)式構(gòu)造函數(shù): new RegExp("pattern"[,"flags"]);
    參數(shù)說明:
    pattern -- 一個正則表達(dá)式文本
    flags -- 如果存在,將是以下值:
    g: 全局匹配
    i: 忽略大小寫
    gi: 以上組合
    [注意] 文本格式的參數(shù)不用引號,而在用構(gòu)造函數(shù)時的參數(shù)需要引號。如:/ab+c/i new RegExp("ab+c","i")是實(shí)現(xiàn)一樣的功能。
    在構(gòu)造函數(shù)中,一些特殊字符需要進(jìn)行轉(zhuǎn)意(在特殊字符前加"\")。如:re = new RegExp("\\w+")

    正則表達(dá)式中的特殊字符

    字符 含意
    \ 做為轉(zhuǎn)意,即通常在"\"后面的字符不按原來意義解釋,如/b/匹配字符"b",當(dāng)b前面加了反斜桿后/\b/,轉(zhuǎn)意為匹配一個單詞的邊界。
    -或-
    對正則表達(dá)式功能字符的還原,如"*"匹配它前面元字符0次或多次,/a*/將匹配a,aa,aaa,加了"\"后,/a\*/將只匹配"a*"。

    ^ 匹配一個輸入或一行的開頭,/^a/匹配"an A",而不匹配"An a"
    $ 匹配一個輸入或一行的結(jié)尾,/a$/匹配"An a",而不匹配"an A"
    * 匹配前面元字符0次或多次,/ba*/將匹配b,ba,baa,baaa
    + 匹配前面元字符1次或多次,/ba*/將匹配ba,baa,baaa
    ? 匹配前面元字符0次或1次,/ba*/將匹配b,ba
    (x) 匹配x保存x在名為$1...$9的變量中
    x|y 匹配x或y
    {n} 精確匹配n次
    {n,} 匹配n次以上
    {n,m} 匹配n-m次
    [xyz] 字符集(character set),匹配這個集合中的任一一個字符(或元字符)
    [^xyz] 不匹配這個集合中的任何一個字符
    [\b] 匹配一個退格符
    \b 匹配一個單詞的邊界
    \B 匹配一個單詞的非邊界
    \cX 這兒,X是一個控制符,/\cM/匹配Ctrl-M
    \d 匹配一個字?jǐn)?shù)字符,/\d/ = /[0-9]/
    \D 匹配一個非字?jǐn)?shù)字符,/\D/ = /[^0-9]/
    \n 匹配一個換行符
    \r 匹配一個回車符
    \s 匹配一個空白字符,包括\n,\r,\f,\t,\v等
    \S 匹配一個非空白字符,等于/[^\n\f\r\t\v]/
    \t 匹配一個制表符
    \v 匹配一個重直制表符
    \w 匹配一個可以組成單詞的字符(alphanumeric,這是我的意譯,含數(shù)字),包括下劃線,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
    \W 匹配一個不可以組成單詞的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。



    說了這么多了,我們來看一些正則表達(dá)式的實(shí)際應(yīng)用的例子:

    E-mail地址驗(yàn)證:
    function test_email(strEmail) {
    var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;
    if(myReg.test(strEmail)) return true;
    return false;
    }
    HTML代碼的屏蔽
    function mask_HTMLCode(strInput) {
    var myReg = /<(\w+)>/;
    return strInput.replace(myReg, "<$1>");
    }

    正則表達(dá)式對象的屬性及方法
      預(yù)定義的正則表達(dá)式擁有有以下靜態(tài)屬性:input, multiline, lastMatch, lastParen, leftContext, rightContext和$1到$9。
    其中input和multiline可以預(yù)設(shè)置。其他屬性的值在執(zhí)行過exec或test方法后被根據(jù)不同條件賦以不同的值。
    許多屬性同時擁有長和短(perl風(fēng)格)的兩個名字,并且,這兩個名字指向同一個值。(JavaScript模擬perl的正則表達(dá)式)

    正則表達(dá)式對象的屬性 屬性 含義
    $1...$9 如果它(們)存在,是匹配到的子串
    $_ 參見input
    $* 參見multiline
    $& 參見lastMatch
    $+ 參見lastParen
    $` 參見leftContext
    $’          參見rightContext
    constructor    創(chuàng)建一個對象的一個特殊的函數(shù)原型
    global       是否在整個串中匹配(bool型)
    ignoreCase     匹配時是否忽略大小寫(bool型)
    input        被匹配的串
    lastIndex     最后一次匹配的索引
    lastParen     最后一個括號括起來的子串
    leftContext    最近一次匹配以左的子串
    multiline     是否進(jìn)行多行匹配(bool型)
    prototype     允許附加屬性給對象
    rightContext    最近一次匹配以右的子串
    source       正則表達(dá)式模式
    lastIndex     最后一次匹配的索引


    正則表達(dá)式對象的方法
    方法 含義
    compile      正則表達(dá)式比較
    exec        執(zhí)行查找
    test        進(jìn)行匹配
    toSource      返回特定對象的定義(literal representing),其值可用來創(chuàng)建一個新的對象。重載Object.toSource方法得到的。
    toString      返回特定對象的串。重載Object.toString方法得到的。
    valueOf      返回特定對象的原始值。重載Object.valueOf方法得到

    例子
    Smith, John
    將輸出"Smith, John"

    posted on 2006-04-07 18:00 SIMONE 閱讀(249) 評論(0)  編輯  收藏 所屬分類: JavaScript
    主站蜘蛛池模板: 无码国产精品一区二区免费式直播 | 一本久久A久久免费精品不卡 | 免费无码又爽又刺激一高潮| 中文字幕精品三区无码亚洲| 亚洲成a人片在线观看中文动漫| 四虎永久免费影院| 100000免费啪啪18免进| 中文字幕无码免费久久9一区9| 亚洲av无码专区国产不乱码| 亚洲人成黄网在线观看| 亚洲精品美女久久777777| 免费国产a国产片高清| 在线观看av永久免费| 亚洲免费电影网站| 免费人成毛片动漫在线播放| 污污免费在线观看| 亚洲第一街区偷拍街拍| 亚洲成A人片在线播放器| 亚洲综合在线成人一区| 亚洲男人的天堂www| 亚洲综合色视频在线观看| 日韩精品亚洲专区在线观看| 午夜免费不卡毛片完整版| 毛片a级三毛片免费播放| 无码中文在线二区免费| 2020因为爱你带字幕免费观看全集| 中文字幕免费不卡二区| a级片在线免费看| 久久精品成人免费观看97| 成人无码区免费A∨直播| caoporm碰最新免费公开视频 | 亚洲国产a级视频| 免费又黄又爽又猛的毛片 | 亚洲中文无码mv| 亚洲综合色丁香婷婷六月图片| 亚洲人成7777影视在线观看| 亚洲视频在线免费播放| 中文字幕亚洲精品| 亚洲一级毛片在线观| 日韩亚洲国产综合高清| 亚洲AV永久无码天堂影院|