The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

整理 Unicode 經常會使用到的內碼區域並透過 Regex 自動比對文字

最近有個案子需要設法過濾表單中輸入的文字,有些欄位只能輸入英數字,有些則必須自動轉全形文字,還有些只能輸入中文,有些不允許輸入標點符號。這個需求照理說很簡單,透過 Regular Expression 一下子就可以達陣,但是光是完成這功能實在太無趣了,所以晚上徹底的研究並整理所有的 Unicode 編碼,發現許多有趣的冷知識。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (23):反向表列路由限制的語法

我曾經在【ASP.NET MVC 開發心得分享 (21):Routing 觀念與技巧】這篇文章中分享過幾個路由開發技巧,其中在【技巧 1:替 Routing 網址設立條件限制】的部分有示範如何透過簡單的 RegEx 規則運算式 (正則表達式) 來限制路由變數的內容規則。不過,通常你在網路上能查到的這些 路由限制 (Route Constraints) 範例,大多使用「正向表列」的方式進行比對,這的確在大部分開發情境下都是這樣用的,但在特定比較少見的開發情境下,你或許需要「反向表列」的方式來限定路由參數的比對規則,尤其是在 ASP.NET MVCASP.NET HttpHandler 混合執行的情況下,更容易遇到這樣的問題。

... 繼續閱讀 ...

介紹好用 Visual Studio 2010 擴充套件:Regex Editor

在 Visual Studio 2010 的線上擴充套件裡有個 Regex Editor 小工具,安裝好之後可以讓你在 Visual Studio 2010 程式編輯區撰寫 Regex 類別程式時自動跳出 Regex 編輯管理視窗,讓你可以在一個工具視窗中編寫、測試、管理你所撰寫的 正則表達式 (Regular Expression),這工具雖然是簡單的小東西而且很容易讓你忘記他的存在,但不小心開啟編輯視窗時還是會覺得很貼心的。

... 繼續閱讀 ...

如何利用 .NET 的 Regex 過濾所有特殊字元 (其他語言適用)

今天有個同事寫了一個小程式要將欄位中所有特殊字元過濾掉,他雖然用的是 規則運算式 (Regular Expression) 但寫法卻有瑕疵,我在 Code Review 的時候立即聞到這個程式碼的壞味道,很快的也用另一段更短的規則運算式 來解決這個小需求,而且也更加符合客戶的需要。

... 繼續閱讀 ...

使用 Regular Expression 驗證密碼:使用 JavaScript 的陷阱

我在前年有寫過一篇【 使用 Regular Expression 驗證密碼複雜度 】文章,當時撰寫的技巧完全是針對 .NET 提供的 Regular Expression 而寫,雖然我的文章在標籤的地方有特別提到 .NET,但還是有人將文章裡提供的 Regular Expression 直接抄去給 JavaScript 使用,結果當然是養出一堆莫名其妙的臭蟲(Bug)。

... 繼續閱讀 ...

介紹好用工具:Rad Software Regular Expression Designer

最近發現我們常用的 Expresso 工具竟然出現使用期限到期的訊息,而且不註冊還不能開啟工具,上去官網之後才發現註冊是不用錢的。不過在想到註冊取得 Registration Code 之前又找到了另一套功能更簡單也更容易上手的 Regular Expression 設計工具 ( for .NET ) 叫做 Regular Expression Designer

... 繼續閱讀 ...

介紹好網站:Regular Expression Library

之前就講過 Regular Expression 是學一次用一輩子且是程式設計師一定要學的技能之一,不過由於 Regular Expression 的語法太過特殊且功能強大,讓許多人在初學的時候就很害怕,甚至乾脆不學,有需要的時候就到網路上到處找,雖然也能解決問題,不過複製一個看不懂的東西內心總是不太紮實的,所以我建議無論如何任何一位程式設計師都一定要花時間學會看懂所有 Regular Expression 語法,並進而自行撰寫所需的 Regular Expression 表示式。

... 繼續閱讀 ...