博客來網路書店查詢

書名

博客來網路書店查詢

星期三, 6月 24, 2009

驗證網址

驗證網址:

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



首先說明*與+與?的不同。


*代表前面的項目重複0~無限次。例如zo*代表有z與zoo等各種可能性,也就是{0,}

+*代表前面的項目重複1~無限次。例如zo+代表zo與zoo,但不包括z,也就是{1,}

?代表前面的項目重複0次或1次。例如do(es)?代表do或does也就是 {0,1}


以下就開始逐步分析

1.

^http://

^ 和 $ 搭配運用 , 代表符合某字開始, 某字結束。什麼字開始呢? http://

2.

[\w-]+

代表任意英文或數字或-可重複一次以上

3.

([\w-]+\.)

代表任意英文或數字或-可重複一次以上後接著輸入.

4.

([\w-]+\.)+

代表「任意英文或數字或-可重複一次以上後接著輸入.」可以重複一次以上

5.

[\w-]+

代表任意英文或數字或-可重複一次以上

\w+

代表數字或英文字可重複一次以上

4.

([-+.]\w+)*

代表-或+或.加上任意數字或英文字可重複0次以上

5.

@\w+

@符號之後可接多個英文或數字

6.

/[\w-./?%&=]

可輸入任意字或-或/或?或&或=

7.

(/[\w-./?%&=]*)?

可出現0到一次

任意字或-或/或?或&或=一般都是出現在網址的最後..

驗證Email地址第二種方法

驗證Email地址第二種方法:

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



首先說明*與+與?的不同。


*代表前面的項目重複0~無限次。例如zo*代表有z與zoo等各種可能性,也就是{0,}



+*代表前面的項目重複1~無限次。例如zo+代表zo與zoo,但不包括z,也就是{1,}


?代表前面的項目重複0次或1次。例如do(es)?代表do或does也就是 {0,1}


以下就開始逐步分析

1.

^\w+

^ 和 $ 搭配運用 , 代表符合某字開始, 某字結束。什麼字開始呢? \w代表 [a-zA-Z_0-9] 數字或是英文字,而這些任意字
是可以重複一次以上。也就是說email第一個字一定要是英文或數字。

2.

[-+.']

代表可以輸入-或+或.或'

3.

\w+

代表數字或英文字可重複一次以上

4.

([-+.]\w+)*

代表-或+或.加上任意數字或英文字可重複0次以上

5.

@\w+

@符號之後可接多個英文或數字

6.

([-.]\w+)*

與第四點相同,代表-或+或.加上任意數字或英文字可重複0次以上

7.

\.\w+

代表.之後接任意英文或數字,而.之後的英文或數字可重複一次以上

8.

[-.]\w+

代表-或.之後接多個英文或數字

9.

([-.]\w+)*

-或.之後接多個英文或數字這樣的組合可重複0次以上



整段的意思是

在@之前,必須是英文或數字開始,若之後接-或.或+或'等字必須搭配英文或數字。
@之後至少接一個點.,若是-或.開始的字必須搭配英文或數字。

驗證Email地址第一種方法

驗證Email地址第一種方法:
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$


首先說明*與+與?的不同。


*代表前面的項目重複0~無限次。例如zo*代表有z與zoo等各種可能性,也就是{0,}



+*代表前面的項目重複1~無限次。例如zo+代表zo與zoo,但不包括z,也就是{1,}


?代表前面的項目重複0次或1次。例如do(es)?代表do或does也就是 {0,1}


以下就開始逐步分析

1.

^\w+

^ 和 $ 搭配運用 , 代表符合某字開始, 某字結束。什麼字開始呢? \w代表 [a-zA-Z_0-9] 數字或是英文字,而這些任意字
是可以重複一次以上。也就是說email第一個字一定要是英文或數字。

2.

[-+.]

代表可以輸入-或+或.

3.

\w+

代表數字或英文字可重複一次以上

4.

([-+.]\w+)*

代表-或+或.加上任意數字或英文字可重複0次以上

5.

@\w+

@符號之後可接多個英文或數字

6.

([-.]\w+)*

與第四點相同,代表-或+或.加上任意數字或英文字可重複0次以上

7.

\.\w+

代表.之後接任意英文或數字,而.之後的英文或數字可重複一次以上

8.

[-.]\w+

代表-或.之後接多個英文或數字

9.

([-.]\w+)*

-或.之後接多個英文或數字這樣的組合可重複0次以上



整段的意思是

在@之前,必須是英文或數字開始,若之後接-或.或+等字必須搭配英文或數字。
@之後至少接一個點.,若是-或.開始的字必須搭配英文或數字。

星期一, 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)