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

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

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

    隨筆-124  評論-49  文章-56  trackbacks-0

    1111-1234 re \d{5}(-\d{4})?
    ?指前面的子項可有可無
    11111 re (\d)\1{4}
    1221 re (\d)(\d)\2\1

    RegExp對象
    創建方式:
    1 使用RegExp對象顯式構造函數new RegExp("pattern"[,"flags"])
    2 使用RegExp對象隱式構造函數/pattern/[flags]
    flags參數
    g 用作全局標志
    i 用作無視大小寫
    m 用作多行標志
    如果沒有設置這個標志,那么“^”只與整個字符串的開始位置相配,“$”只與整個字符串的
    結束位置相配,如果設置了這個標志,那么“^”還可以與字符串的“\n”和"\r"之后的位置相配
    (即下一行的行首),面“$”還可以與字符串的“\n”和"\r"之前的位置相配(即一行的行首)

    注意:javascript中的\是轉義字符,所以應將原始正則表達式模式文本中的\都用
    兩個\\替換,如果要表示原意為"\"就要用"\\\\"表示
    例:
    var re=new RegExp("\\d{5}");顯式
    vaf re=/\d{5}/;隱式

    RegExp對象的屬性
    共享的靜態屬性
    index只讀屬性 當前使用的正則表達式的模式在被查找字符串中的第一個相配的字符串的開始位置,從0開始,默認為-1
    lastindex只讀屬性 當前使用的正則表達式的模式在被查找字符串中的第一個相配的字符串的結束位置的下一個位置,從0開始,默認為-1
    input屬性  當前使用的正則表達式的模式所作用的字符串
    lastMatch屬性   當前使用的正則表達式的模式在被查找字符串中的最后一個字符串
    lastParen屬性
    leftContext屬性  當前使用的正則表達式的模式在被查找字符串中的最后一個字符串左邊的位置
    rightContext屬性  當前使用的正則表達式的模式在被查找字符串中的最后一個字符串右邊的位置

    單個對名象實例的屬性
    global屬性 返回創建對象實例時全局標志的狀態,如果設了為treu,反為false
    ignreCase屬性  返回創建對象實例時指定的無視大小寫狀態,如果設了為treu,反為false
    multiline屬性  返回創建對象實例時指定的多行標志狀態,如果設了為treu,反為false
    source屬性  返回創建對象實例時所指定的正則表達式文本
    compile("pattern[,"flags"]")方法 更換創建RegExp對實例時所指定的正則表達式的模式
    exec(str)方法 使用創建RegExp對實例時所指定的正則表達式的模式對一個字符串執行查找,并返回一個包含結果的數組,沒有返回null
    返回的數組有input,index和lastIndex三個屬性
    test(string)方法   檢查一個字符串是否存在創建RegExp對實例時所指定的正則表達式的模式
    說明:如果正則表達式設置了全局標志(g),可以多次調用exec和test方法,每次查找從lastIndex屬性值指定的位置開始查找

    例子:

    <script type="text/javascript">
        
    //例子:
            var strSrc="xxa1b01c001yya2b02c002zz";
            
    var re=/a(\d)b(\d{2})c(\d{3})/gi;
            
    var arr,count=0;
            
    while((arr=re.exec(strSrc))!=null)
            
    {
                displayResult();
            }


            
    function displayResult()
            
    {
                document.write(
    "<p>這是用正表達式/"+re.source+"/gi對字符串<br></p>"+
                        RegExp.input
    +"進行第"+(++count)+"次查找的結果:<br>");
                document.write(
    "RegExp.index為"+RegExp.index+"<br>");
                document.write(
    "RegExp.lastIndex為"+RegExp.lastIndex+"<br>");
                document.write(
    "RegExp.lastMatch為"+RegExp.lastMatch+"<br>");
                document.write(
    "RegExp.lastParen為"+RegExp.lastParen+"<br>");
                document.write(
    "RegExp.leftContext為"+RegExp.leftContext+"<br>");
                document.write(
    "RegExp.rightContext為"+RegExp.rightContext+"<br>");
                document.write(
    "RegExp.$1為"+RegExp.$1+"<br>");
                document.write(
    "RegExp.$2為"+RegExp.$2+"<br>");
                document.write(
    "RegExp.$3為"+RegExp.$3+"<br>");
                document.write(
    "RegExp.$4為"+RegExp.$4+"<br>");
                document.write(
    "arr.inedex為"+arr.index+"<br>");
                document.write(
    "arr.input為"+arr.input+"<br>");
                document.write(
    "arr.lastIndex為"+arr.lastIndex+"<br>");
                document.write(
    "返回數組元素的個數為"+arr.length+"<br>");
                document.write(
    "返回數組元素的內容為[");
                
    for(var i=0;i<arr.length;i++)
                
    {
                    
    if(i<arr.length-1)
                    
    {
                        document.write(
    "\""+arr[i]+"\",");
                    }
    else
                    
    {
                        document.write(
    "\""+arr[i]+"\"]</p>");
                    }

                }

            }

            
           
    /////////--------------- String 對象----------------------------
                 //match(rgExp)方法  使用正則表達式模式對字符串進行查找,并返回一個包含結果的數組
                
                 
    var strSrc="xxa1b01c001yya2b02c002zz";
            
    var re=/a(\d)b(\d{2})c(\d{3})/gi;
            
    var arr;
            arr
    =strSrc.match(re);
            
    for(var i=0;i<arr.length;i++)
            
    {
                
    if(i<arr.length-1)
                    document.write(
    "[\""+arr[i]+"\",")
                
    else
                    document.write(
    "\""+arr[i]+"\"]")                
            }

                 
                 
                 
    //search(rgExp)方法 第一個字符串
                 
                 
    //replace(rgExp,replaceText)方法
                 
                  
    var strSrc="a12b34c56";
            
    var re=/(\d)(\d)/gi;
            
    var strDest=strSrc.replace(re,"$2$1");
            alert(strSrc
    +"="+strDest);
                
                 
                 
    //split(separator[,limit])方法
                 
                 
    //正則表達式的語法
                 //限定符:
                 //{n}
                 //{n,}前面的指定字符只少出現n次
                 //{n,m}前面的指定字符只少出現n次,最多出現m次
                 //+一次或多次,等效于{1,}
                 //*零次或多次,等效于{0,}
                 //?零次或一次
                 
                 
    //貪婪匹配
                 //默認情況下,正則表達式使用最長匹配原則
                 //非貪婪匹配
                 //當字符"?"緊跟任何其他限定符(*、+、?、{n}、{n,m}、{n,})之后,匹配變成最短匹配原則 "fo+?"
                 //選擇匹配符"|"
                 //兩邊字符最大原則
                 
                 
    //分組組合和反同引用符"()"和"\num"
                 //(?:pattern)
                 //un \u00A9匹配@
                 //\f換頁 等效于\x0c和\cL
                 //\n換行 等效于
                 //\r回車 等效于
                 //\t制表 等效于
                 //\v垂直制表符 等效于
                 
                 
    //字符匹配符
                 //[]任何一個
                 //[^]取反任何一個
                 //[a-z]取范圍內的一個
                 //[^a-z]不在范圍內的字符
                 //\d \D是\d的取反
                 //\s空格 等效于[\f\n\r\t\v] \S非空格
                 //\w單詞 等效于[A-Za-z0-9_] \W
                 //. 換行符以外的任意字符
                 
                 
    //定位符
                 //^開始位置
                 //$結尾位置
                 //\b 單詞的邊界(開始或結尾邊界)
                 //\B 非單詞的邊界
                 
                 
    //原議字符
                 //即需要\:
                 //正則表達式從左到右進行計算,并按優先級順序。
                 /*
                 空行  re /^\s*$/
                 HTML標記 re  /<(\S+)(\s[^>]*?)>[\s\S]*<\/\1\s*>/
                 Email   re  /[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
                 兩個相同的相鄰單詞 re /\b([a-z]+)\1\b/
                 ip地址 /^\d{1,2}|1\d\d|2[0-4]\d|25[0-5(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/
                 
    */

                 
                 
    //例子
                 /*
                 
                 
    */

        
    </script>
    posted on 2009-11-04 14:42 junly 閱讀(232) 評論(0)  編輯  收藏 所屬分類: ajax/jquery/js
    主站蜘蛛池模板: 无遮免费网站在线入口| 鲁大师在线影院免费观看| 久久精品免费全国观看国产| 久久久久亚洲AV成人无码网站| 成人av片无码免费天天看| 亚洲麻豆精品国偷自产在线91| 麻豆一区二区三区蜜桃免费| 免费大片黄手机在线观看| 牛牛在线精品免费视频观看| 亚洲精品国产福利一二区| 亚洲日韩在线观看免费视频| 一本色道久久综合亚洲精品| 怡红院免费的全部视频| 日韩亚洲Av人人夜夜澡人人爽| 精品免费久久久久久久| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲资源在线观看| a拍拍男女免费看全片| 亚洲狠狠成人综合网| 国产精品久久香蕉免费播放| 人妖系列免费网站观看| 亚洲AV中文无码乱人伦下载| 在线成人爽a毛片免费软件| 久久精品国产亚洲αv忘忧草| 午夜一级毛片免费视频| 一级人做人爰a全过程免费视频| 亚洲一区爱区精品无码| 最近免费中文在线视频| 亚洲色偷偷色噜噜狠狠99网| 亚洲国产成人影院播放| 麻豆成人久久精品二区三区免费| 亚洲熟妇无码AV| 亚洲日韩乱码中文无码蜜桃臀网站 | 国产精品成人免费福利| 韩国亚洲伊人久久综合影院| 亚洲午夜久久久久妓女影院| 免费精品国产日韩热久久| 国产成人 亚洲欧洲| 亚洲欧洲日韩国产综合在线二区| 国内大片在线免费看| 国产一级高青免费|