正則的使用心得
以前使用正則是不會自己去學或者去了解怎麼實現正則的語法的,感覺好難懂的樣子,於是拖到現在
其實正則不是我想象中的那麼難,至少入門還是比較簡單。我剛學習了一些比較簡單的,談談我對正則的理解以及使用心得,希望能幫助大家
1、學習正則的話 ,正則手冊必須看的,瞭解常用的字元含義,這樣在學習或看或寫的時候,才不會覺得(哇,這什麼鬼啊,為什麼這麼多括號中括號大括號, 這一串串的真是是規則嗎?會不會是別人亂寫的。)
2、大致看了一下手冊了之後,我覺得應該看一下關於正則教程的視訊,圖文音並茂,這樣才更容易讓人理解這是什麼東西,然後跟著做一下。
3、看了視訊瞭解簡單的正則簡單的寫法就可以寫一下簡單的規則了。比如說驗證日期、價格、年齡等,這些都是專案比較常用的且簡單的正則驗證。
最後我舉一個簡單的例子
QQ號的驗證:
1、首先,要寫驗證的話,就必須瞭解你驗證的這個有什麼樣子的規則。
QQ號是大多數人的青春,我相信絕大多數人都比較熟悉,那麼它的規則估計並不是所有人都清除。
首先,騰訊剛開始釋出QQ號的時候是從1開始的,也就是世界上第一個QQ號是1。但是為了安全等等原因,騰訊收回了4位數及更少的QQ號碼,只留下了10000開始的QQ號, 所以騰訊的QQ號最小是10000,最大位置,也就是說只要比10000大的數字都可以。再者,QQ號有了一個最小數,那是不是用QQ號>10000就是QQ號了呢?比如:QQ號>10000。
其實不然,因為n個0加上10000+也是大於10000的,比如00010001,但是這個數字不是QQ號。所以第一個數字不能為0,這就是QQ號的所有規則了,是不是很簡單。(不好意思,廢話多了)
2、寫規則
既然我們知道了規則,就是開始寫規則了,規則拆開寫,三個規則,第一:QQ號必須是數字組成,第二:第一個數字不為0且是一位數,取值範圍1-9,第三,QQ號位數至少是五位數。
[1-9]:[]表示一個字元的一個範圍,1-9表示只能取大於等於1,小於等於9的數字。
[0-9]:因為第二個數字開始,數字就可以取值為0了,所以取值0-9
{4,}:{}表示長度,可取兩個值,第一個是最小長度(必填,非負數),第二個是最大長度(選填),中間用逗號隔開,第二個不填表示無上限。QQ號為5位數,所以第一位後面需要至少有4個數字。
最後連起來就是[1-9][0-9]{4,}。如果只是驗證某一個引數是不是QQ號,就需要規定什麼時候開始什麼時候結束,不然只要一串字串裡面連起來有符合規則的都會通過。
正則中 ^ 表示開始, $ 表示結束,為了驗證某一個引數是不是QQ號,最後規則為: ^[1-9][0-9]{4,}$ ,表示這個引數裡面必須以1-9的數字開頭,以0-9的數字結尾,否則通不過驗證。
最後 \d 等價與 [0-9] ,規則也可以寫成 ^[1-9]\d{4,}$
總結:正則驗證十分強大 ,入門簡單 ,適用於各種語言,多學一點,後面少苦惱一點。勤學苦練,終能成大事,希望各位一起學習、進步。
我是剛入門不久的前端工程師,內容寫的可能不是那麼精簡、清楚,我會慢慢改進排版以及內容,希望各位多多指點,多多支援,謝謝
(ps: 如果有剛加入前端這個行業的,比較迷茫的同學,歡迎進群交流,希望不嫌棄的同行或者大佬加群大家一起交流,相信未來會更好 ,群號:815957915)