大家好挤聘,我是IT修真院北京分院18期的學員誉己,一枚正直純潔善良的web程序員
今天給大家分享一下,js-任務(wù)2秒紧,相關(guān)的正則表達式。
1.背景介紹
什么是正則表達式?
一個正則表達式(規(guī)則表達式 regular expression)可以認為是一個集合挨下,這個集合是用一些描述來定義的熔恢。 比如“一個僅由數(shù)字組成的字符串,個數(shù)至少6個臭笆,最多24個”叙淌。
這樣的描述電腦不懂,外國人也不懂愁铺。因此需要用更簡潔的描述來表達∮セ簦現(xiàn)在用“\d”表示一個0-9之間的數(shù)字府寒,用{5迈窟,24}表示個數(shù)5-24個, 描述就成了"\d{5,24}"采缚,這就是一個正則表達式
正則表達式可以用來做什么瓶竭?
幾乎任何編程語言都支持正則表達式督勺;
1,搜索:把符合規(guī)則的內(nèi)容,批量找出來斤贰,比如從一篇文章中搜索其中的數(shù)字
2,驗證:檢查一串字符串是否符合特定規(guī)則智哀,比如表單里的手機號,郵箱
正則表達式的規(guī)則
1 任何字符串都是一個天然的正則表達式荧恍,比如“mall”,它可以用來在一篇文章中瓷叫,搜索出所有的“mall”。
2 規(guī)則的描述的方式也可以用列舉送巡,比如:[1,2,5,8],數(shù)學上摹菠,它就表示這4個數(shù)字中的一個,在正則表達式中授艰,可以用“1|2|5|8”來表示辨嗽。
3 這則表達式本身只是一個數(shù)據(jù)集合的描述,必須配合代碼才能使用淮腾,js原生支持一些匹配正則表達式的方法糟需。 4 正則表達式引擎,識別正則表達式時有一定的規(guī)則谷朝,但是現(xiàn)在不必在意洲押。
2.知識剖析
正則表達式的語法
*元字符:用簡單的字符代表一個集合:如“\w”代表單詞,“^”代表一串字符的開始圆凰,“\b”代表單詞兩邊的間隔杈帐,等
轉(zhuǎn)譯“\”:"d"是個字母,“\d”就表示任何數(shù)字,“\\d”被轉(zhuǎn)譯兩次抵消了挑童,表示“\d”這個兩個字符串類型的字符
范圍和個數(shù):[]表示范圍累铅,如[a-e]表示abcde五個字母中的一個,
{}表示范圍站叼,如{3}表示3個娃兽,{3,}表示3個及以上尽楔,{3,5}表示3個以上投储,5個及以下
3.常見問題
如何寫一個正則表達式
如果用一個正則表達式
4.解決方案
如何寫一個正則表達式(6-18之間的一個數(shù)字)
1 開頭和結(jié)尾:^$
2 內(nèi)容:^(\d)|(1\d)$
3 限制:^(\d[6-9])|(1\d[0-8])&
在js里的寫法
正則表達式也是一個字符串,知識有特定的格式阔馋;在js中玛荞,字符串的格式是:
/正則表達式正文/,也就是套在//之間呕寝。
window.RegExp("^\\b[6-9]$","g")
/^\b[6-9]$/g
js的window.RegExp()方法勋眯,用于按照()內(nèi)的字符串,生成一個正則表達式
實際上壁涎,不如直接手寫: var reg="/^\b[6-9]$/g"
如何用一個正則表達式
js字符串的.search()方法
其它框架和插件凡恍,有利用正則實現(xiàn)不允許輸入/提示錯誤等功能志秃。
5代碼演示:
見視頻
7.參考文獻
菜鳥教程
8.更多討論
PPT:https://ptteng.github.io/PPT/PPT/js-04-regular-expression.html
技能樹.IT修真院
“我們相信人人都可以成為一個工程師怔球,現(xiàn)在開始,找個師兄浮还,帶你入門竟坛,掌控自己學習的節(jié)奏,學習的路上不再迷镁啵”担汤。
這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學習路線洼冻,學習透明化崭歧,成長可見化,師兄1對1免費指導撞牢÷誓耄快來與我一起學習吧 !
或者你可以直接點擊此鏈接:邀請碼:6039