Browsing articles tagged with " 正規式"
十一月
26
2009

RegExr: 功能強大的正規式撰寫協助工具

正規式應該是許多程式開發人員心中的痛,雖然知道它的功能強大,但是學習和使用卻不是那麼的簡單。RegExr這套工具可以幫助我們在撰寫正規式的時候更有效率並且提供了許多範例可以讓我們參考,對於新手和老手都是一個相當實用的工具。

這套工具的特點如下:
* real time results: shows results as you type
* code hinting: roll over your expression to see info on specific elements
* detailed results: roll over a match to see details & view group info below
* built in regex guide: double click entries to insert them into your expression
* online & desktop: regexr.com or download the desktop version for Mac, Windows, or Linux
* save your expressions: My Saved expressions are saved locally
* share and rate expressions: search Community expressions and share your own

我大概介紹一下這套工具的UI
RegExr leftwindows
1. 最上方的Match與Replace,我們可以選擇這兩個頁籤來選擇我們現在要進行的動作;
2. 類似網址輸入的地方則是讓我們輸入正規式的地方;
3. 接下來的選項可以讓我們快速的選擇我們所需要的額外條件;
3. 中間的大區塊則是提供我們輸入或貼上資料的地方,符合正規式規則的字串會使用藍色底標示
4. 下面的區塊則是將我們所撰寫的正規式做解析。

右邊的選單對於我們撰寫或學習正規式的時候相當有幫助
RegExr sidebar
1. Sample: 提供簡單的範例和說明;
2. My Saved:我們可以將我們撰寫的正規式儲存起來;
3. Community:如果真的寫不出來,可以透過這個頁籤搜尋別人寫好的正規示。找到我們需要的正規式之後,按一下load連結,就可以把這段正規式載入到左邊的畫面,直接進行測試,真的是相當的好用啊

RegExr 不但提供網路版的,也提供了離線版本,不過在安裝離線版本前必須要先安裝Adobe AIR。還在為了撰寫正規式而苦惱嗎?趕快來使用RegExr這套好用的工具吧。

  RegExr 線上版
 RegExr 離線版下載位置

九月
26
2009

常用的正規表示式(Regular Expression)

阿維把自己常用的regular expression放上來,一方面做為自己的備忘,另一方面也希望可以幫助到需要的朋友。

  • 信用卡檢查

//信用卡檢查
‘/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|622((12[6-9]|1[3-9][0-9])|([2-8][0-9][0-9])|(9(([0-1][0-9])|(2[0-5]))))[0-9]{10}|64[4-9][0-9]{13}|65[0-9]{14}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})*$/’

  • 檢查字串只能有文字與數字

//檢查字串只能有文字與數字
‘/^[a-zA-Z0-9]*$/’

  • 檢查字串只能有文字

//檢查字串只能有文字
 ‘/^[a-zA-Z]*$/’

  • 檢查字串只能有數字

//檢查字串只能有數字
‘/^[0-9]*$/’

  • 檢查日期型態 (MM/DD/YYYY)

//檢查日期型態 (MM/DD/YYYY)
‘/^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$/’

  • 檢查日期型態 (YYYY/MM/DD)

//檢查日期型態 (YYYY/MM/DD)
 ‘#^((19|20)?[0-9]{2}[- /.](0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01]))*$#’

  • 簡易的Email檢查

//簡易的Email檢查
‘/^([a-zA-Z0-9._%-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})*$/’

  • 檢查IP位址

//檢查IP位址
‘/^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$/’

檢查密碼:密碼長度必須有八碼,並且包含至少一個小寫字母與一個大寫字母和一個數字

//檢查密碼
 ‘/^(?=^.{8,}$)((?=.*[A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z]))^.*$/’

檢查網址

//檢查網址
‘/^(((http|https|ftp):\/\/)?([[a-zA-Z0-9]\-\.])+(\.)([[a-zA-Z0-9]]){2,4}([[a-zA-Z0-9]\/+=%&_\.~?\-]*))*$/’