正則表達(dá)式焚廊、字符串拼接:所有程序設(shè)計(jì)語(yǔ)言中都有相關(guān)應(yīng)用冶匹,不同語(yǔ)言之間稍有差異;[w3school字典可查詢(更新慢)咆瘟;匹配/處理字符串在開(kāi)發(fā)中是前端處理嚼隘,所以正則表達(dá)式必掌握]?
1、轉(zhuǎn)義字符 ->?其可將\后面的符號(hào)轉(zhuǎn)換為文本輸出 ->常用的\\; \"; \n; \r; \t;(輸出+-*/等等也OK) ->主要解決輸出冒號(hào)搞疗,引號(hào)等需求嗓蘑;例如“回車符”底層操作系統(tǒng)實(shí)現(xiàn):\n\r的結(jié)合;
2匿乃、正則表達(dá)式 -> 其是對(duì)字符串執(zhí)行模式匹配的強(qiáng)大工具桩皿,也是匹配特殊字符或有特殊匹配原則字符的最佳選擇 ->?RegExp是js內(nèi)置對(duì)象,調(diào)用對(duì)象屬性幢炸、方法進(jìn)行字符串匹配泄隔,應(yīng)用場(chǎng)景:手機(jī)號(hào)、郵箱等的驗(yàn)證宛徊;
(1).創(chuàng)建方式:
[1].字面量/直接量創(chuàng)建:var reg = /abc/; var reg1 = /abc/img;
[2].new的方式:var reg1 = new RegExp("","");//兩個(gè)參數(shù)都為字符串佛嬉,首個(gè)參數(shù)寫匹配的規(guī)則,第二個(gè)參數(shù)寫屬性闸天,沒(méi)有可省略暖呕;
(2).修飾符(屬性):img;//可任意組合或只寫某個(gè)屬性;[正則表達(dá)式對(duì)象的屬性]
(3).表達(dá)式:[正則表達(dá)式的匹配苞氮,匹配過(guò)的字符便不再匹配了]湾揽;[/d/w]:表達(dá)式內(nèi)也可以寫元字符;
(4).元字符:其與表達(dá)式相互對(duì)應(yīng),每位等同于[]库物;(\xxx \xdd \uxxxx:很少使用)
(5).量詞:其和元字符配合使用霸旗,類似于乘積 -> +表示無(wú)數(shù)個(gè),*表示0個(gè)和無(wú)數(shù)個(gè)
(6).常用概念:
(7).正則表達(dá)式對(duì)象的屬性和方法:
(8).例題
3戚揭、字符串拼接 ->幾乎所有程序設(shè)計(jì)語(yǔ)言都有相關(guān)操作
(1).ECMAScript標(biāo)準(zhǔn)說(shuō)明:字符串一旦創(chuàng)建诱告,其的值便不會(huì)發(fā)生改變,若要改變某個(gè)變量保存的字符串民晒,必須先銷毀原來(lái)的字符串精居;[原始值都是如此,創(chuàng)建后便不會(huì)發(fā)生改變]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var str = 'javascript';? ?str = str + "nodejs";//內(nèi)部操作過(guò)程:新創(chuàng)建一個(gè)能容納10個(gè)字符的新字符串镀虐,里面添加這兩個(gè)字符箱蟆,然后銷毀原來(lái)的字符串"javascript","nodejs";(不要誤認(rèn)為是在原字符串上直接進(jìn)行的拼接)
(2).字符串拼接 ->不同的字符串拼接方法,耗費(fèi)計(jì)算機(jī)資源不同刮便,性能高低也不同 ->其于執(zhí)行次數(shù)也有關(guān)系(可使用時(shí)間戳getTime();測(cè)試) ->日常開(kāi)發(fā)中談到的字符串拼接大多為"+"拼接;
[1]."+"連接符绽慈;[2].通過(guò)數(shù)組的join(); [3].通過(guò)對(duì)象屬性來(lái)連接字符串(了解)恨旱;
補(bǔ)充:"+"拼接方法 ->性能還是蠻高的 -> str += "<li>"+ele.title+"-"+ele.data+"</li>"http:// "+ xxx +"
JS中三種字符串連接方式及其性能比較:https://www.cnblogs.com/programs/p/5554742.html
正則表達(dá)式:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp