<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 閱讀(237) 評論(0)  編輯  收藏 所屬分類: ajax/jquery/js
    主站蜘蛛池模板: 中文字幕日本人妻久久久免费| 亚洲欧洲第一a在线观看| 国产精品亚洲午夜一区二区三区 | 成人免费无毒在线观看网站| 久久亚洲AV无码精品色午夜麻豆 | 色妞WWW精品免费视频| 亚洲国产电影在线观看| 啦啦啦完整版免费视频在线观看 | 亚洲伊人精品综合在合线| 久久久久久国产精品免费无码| 国产国拍亚洲精品mv在线观看| 91嫩草国产在线观看免费| 亚洲精品国产肉丝袜久久| 日韩在线播放全免费| 亚洲图片校园春色| 蜜桃视频在线观看免费网址入口| 亚洲 欧洲 日韩 综合在线| 岛国大片免费在线观看| 国产亚洲视频在线播放大全| 亚洲国产一区视频| igao激情在线视频免费| 亚洲AV美女一区二区三区| 91免费人成网站在线观看18| 亚洲伦理中文字幕| 免费a级毛片网站| 九九热久久免费视频| 亚洲国产二区三区久久| 免费中文熟妇在线影片| 曰批免费视频播放免费| 亚洲韩国精品无码一区二区三区| 最近中文字幕mv免费高清在线| 亚洲色偷偷色噜噜狠狠99| 亚洲视频一区二区| 久久久久久毛片免费播放| 亚洲色丰满少妇高潮18p| 精品国产人成亚洲区| 18禁无遮挡无码国产免费网站| 亚洲AV性色在线观看| 亚洲AV永久纯肉无码精品动漫| 成人免费一级毛片在线播放视频| 成人午夜影视全部免费看|