星期一, 6月 22, 2009

RegularExpressionValidato屬性:ValidationExpression Part2

我於2007年11月24日整理「RegularExpressionValidato屬性:ValidationExpression」,不過該文只是ValidationExpression的基礎,其實正規表達式還有以下的定義:

計算數量用的符號
? 代表前面的項目重複0次或1次
* 代表前面的項目重複0~無限次
+ 代表前面的項目重複1~無限次


而 ^ 和 $ 搭配運用 , 表示符合某字開始, 某字結束的字串

我們可以使用預先定義的符號來定義文字所屬類別:
\d 等於 [0-9] 數字
\D 等於 [^0-9] 非數字
\s 等於 空白字元
\S 等於 非空白字元
\w 等於 [a-zA-Z_0-9] 數字或是英文字
\W 等於 [^a-zA-Z_0-9] 非數字與英文字

例如以下的內容:


整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$
只能輸入數字:^[0-9]*$
只能輸入n位的數字:^\d{n}$
只能輸入至少n位的數字:^\d{n,}$
只能輸入m~n位的數字:^\d{m,n}$
只能輸入有兩位小數的數字:^[0-9]+(.[0-9]{2})?$
只能輸入有1~3位小數的數字:^[0-9]+(.[0-9]{1,3})?$
只能輸入非零的正整數:^\+?[1-9][0-9]*$
只能輸入非零的負整數:^\-[1-9][]0-9"*$
只能輸入長度為3的字串:^.{3}$
只能輸入由26個英文字母組成的字串串:^[A-Za-z]+$
只能輸入由26個大寫英文字母組成的字串:^[A-Z]+$
只能輸入由26個小寫英文字母組成的字串:^[a-z]+$
只能輸入由數字和26個英文字母組成的字串:^[A-Za-z0-9]+$

以下兩個例子請大家參考


驗證Email地址:有兩種方式-->

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*


驗證網址:

^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$



參考網址:微軟MSDN:Regular Expression Syntax (Scripting)

沒有留言:

張貼留言