這幾天正在製作使用者登陸這一塊,使用者登陸其中我覺得最煩人的就是輸入資料的驗證;雖然微軟給了我們幾個強的控制項,但是自己寫正規表示式那是相當的耗時間啊;在網上有很多人在網上發部了很多有用的正規表示式,可能以後會再次用到這些表示式,這裡把它記錄下來;通過驗證控制項並不是100%保險的,因為使用者控制項只是在客戶端驗證,有些無聊的人根本不通來那些來提交資料,所以我們還是要在服務端再次驗證,這樣正規表示式就成為了我們的重要工具啦.
通過這幾天的努力我收集同時也自己寫了幾個正規表示式,look:
1.驗證使用者名稱和密碼:("^[
a-za-z
]/w$")正確格式:"
[a-z
][a-z]_
[0-9
]"組成,並且第乙個字必須為字母6
~16位;
2.驗證**號碼:("
^(/d
-)/d$")正確格式:***
/***x
-******x
/******xx;
3.驗證身份證號(15位或18位數字):("^/d
|/d$");4^
/w+([
-+.]/w+
)*
@/w+([
-.]/w+
)*
/./w+(
[-.]/w
+)
*$");
5.只能輸入由數字和26個英文本母組成的字串:("^[
a-za-z0-9]+
$") ;
6.整數或者小數:^[
0-9]+/.
[0-9]$
7.只能輸入數字:"^[
0-9]
*$"。
8.只能輸入n位的數字:"
^/d$"。
9.只能輸入至少n位的數字:"
^/d$"。
10.只能輸入m
~n位的數字:。"
^/d$"
11.只能輸入零和非零開頭的數字:"^(
0|
[1-9
][0-9]*
)$"。
12.只能輸入有兩位小數的正實數:"^[
0-9]+(.
[0-9
])?$"。
13.只能輸入有1
~3位小數的正實數:"^[
0-9]+(.
[0-9
])?$"。
14.只能輸入非零的正整數:"^/
+?
[1-9
][0-9]*
$"。15
.只能輸入非零的負整數:"^/
-[
1-9]0-
9"*$。
16.只能輸入長度為3的字元:"
^.$"。
17.只能輸入由26個英文本母組成的字串:"^[
a-za-z]+
$"。18
.只能輸入由26個大寫英文本母組成的字串:"^[
a-z]
+$"。
19.只能輸入由26個小寫英文本母組成的字串:"^[
a-z]
+$"。
20.驗證是否含有
^%&'
,;=?$/"等字元:"[^%&',;
=?$/x22]+"。
21.只能輸入漢字:"^[
/u4e00-/u9fa5]$"
22.驗證url:"
23.驗證一年的12個月:"^(
0?
[1-9]|
1[
0-2]
)$"正確格式為:"
01"~"
09"和"
1"~"
12"。
24.驗證乙個月的31天:"^((
0?
[1-9])
|((1|
2)
[0-9])
|30|31
)$"正確格式為;"
01"~"
09"和"
1"~"
31"。
從上面我們可以看到:"^"表示後面緊跟著的字元為開頭;與之相對應的式"$"以緊跟前面的字元為結尾.但是要注意的式當"^"位於""裡時,表示"非"的意思,例如:[^az]表示不能為"az"中的任乙個字元.""表示當中的乙個字元."{}"可以取得乙個範圍,例如""表示9個,而""表示1到9個字元.
下面我們看看正規表示式在asp.net資料驗證中的應用,第乙個當然式在伺服器驗證控制項中的應用了,很簡單看下面的**:
<
asp:regularexpressionvalidator
id="regularexpressionvalidator1"
controltovalidate
="username"
validationexpression
="^[a-za-z]/w$"
runat
="server"
errormessage
="使用者名稱格式不正確"
tooltip
="使用者名稱格式不正確!"
>
*asp:regularexpressionvalidator
>
這樣就能滿足我們在客戶端的驗證,控鍵很簡單,id和runat就不用多說了,controltovalidate指的是要驗證控制項的id,這裡是username文字(textbox)控制項,validationexpression一看就知道要添上我們的正規表示式了.如果沒有輸入"*",但為通過驗證時會顯示errormessage裡的內容,當然要預先為顯示這些東西留點空間的哦,不然效果會不好的哦.不過我們可以把所有錯誤的放在validationsummary控制項中.
上面只能用於君子中,有些無聊的人不同過你的這些控制項直接給你的伺服器發資訊,這樣就可能有麻煩了,不用著急,我們可以在服務端新增一點東西:
1using
system;
2using
system.web;3//
一定記住引用此空間.
4using
system.text.regularexpressions;56
namespace
nexplus.validation
10protected
void
submit_click(
object
sender, imageclickeventargs e)11$
",regexoptions.ignorepatternwhitespace))
18//
..19}20
}21}22
}
是不是很easy!我們有深入的研究過這個東東,如果有什麼地方不正確請批評指正,謝謝!
正則表達之 常用正規表示式驗證
純數字 0 9 純數字 6 16位 0 9 驗證輸入帶數字 或純數字,或小數 d d d 驗證漢字 u4e00 u9fa5 驗證只能輸入漢字或英文本元 u4e00 u9fa5 a za z 金額的驗證 或純數字,或小數點後最多兩位,並且整數為必須大於0 1 9 d 1 9 dd?驗證只能輸英文本母,...
驗證正規表示式
純數字 d 純字母 a za z 純特殊字元 ps 特殊字元看你定義的標準是什麼 字母 數字 d a za z a za z d 字母 特殊字元 a za z a za z 數字 特殊字元 d d 字母 數字 特殊字元 d a za z da za z ios使用常用正規表示式驗證密碼身份證手機號 ...
正規表示式驗證
1,正規表示式是用用於驗證的,即符合正規表示式則通過驗證,所以首先它是個表示式,其次它需要用來驗證別人是不是和它匹配,所以需要有內建的 方法 2,使用情景 乙個input輸入框要求你輸入0 9的數字,如果你輸入非數字就會報錯 var reg 0 9 string input val reg.test...