日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

【转】ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证)...

發(fā)布時(shí)間:2025/4/16 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证)... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【轉(zhuǎn)】ASP.NET驗(yàn)證控件詳解(非空驗(yàn)證,比較驗(yàn)證,范圍驗(yàn)證,正則表達(dá)式,自定義驗(yàn)證)

ASP.NET驗(yàn)證控件詳解

?

現(xiàn)在ASP.NET,你不但可以輕松的實(shí)現(xiàn)對(duì)用戶輸入的驗(yàn)證,而且,還可以選擇驗(yàn)證在服務(wù)器端進(jìn)行還是在客戶端進(jìn)行,再也不必考慮那么多了,程序員們可以將重要精力放在主程序的設(shè)計(jì)上了。

ASP.NET公有六種驗(yàn)證控件,分別如下:

控件名?????????? 功能描敘?
RequiredFieldValidator(必須字段驗(yàn)證) 用于檢查是否有輸入值?
CompareValidator(比較驗(yàn)證) 按設(shè)定比較兩個(gè)輸入?
RangeValidator(范圍驗(yàn)證) 輸入是否在指定范圍?
RegularExpressionValidator(正則表達(dá)式驗(yàn)證) 正則表達(dá)式驗(yàn)證控件?
CustomValidator(自定義驗(yàn)證) 自定義驗(yàn)證控件?
ValidationSummary(驗(yàn)證總結(jié)) 總結(jié)驗(yàn)證結(jié)果

下面,我們來看這些控件的使用:

一、RequiredFieldValidator(必須字段驗(yàn)證)的使用

RequiredFieldValidator控件使用的標(biāo)準(zhǔn)代碼如下:

<ASP:RequiredFieldValidator id="Validator_Name" Runat="Server"
   ControlToValidate="要檢查的控件名"
   ErrorMessage="出錯(cuò)信息"
   Display="Static|Dymatic|None"
 >
 占位符
</ASP: RequiredFieldValidator >

在以上標(biāo)準(zhǔn)代碼中:
  ControlToValidate:表示要進(jìn)行檢查控件ID;
  ErrorMessage:表示當(dāng)檢查不合法時(shí),出現(xiàn)的錯(cuò)誤信息;
  Display:錯(cuò)誤信息的顯示方式;Static表示控件的錯(cuò)誤信息在頁面中占有肯定位置;Dymatic表示控件錯(cuò)誤信息出現(xiàn)時(shí)才占用頁面控件;None表示錯(cuò)誤出現(xiàn)時(shí)不顯示,但是可以在ValidatorSummary中顯示;
  占位符:表示Display為Static時(shí),錯(cuò)誤信息占有"占位符"那么大的頁面空間;

現(xiàn)在,讓我們看一個(gè)實(shí)例:
<ASP:TextBox id="txtName" RunAt="Server"/>
<ASP:RequiredFieldValidator id="Validator1" Runat="Server"
   ControlToValidate="txtName"
   ErrorMessage="姓名必須輸入"
   Display="Static">
  *姓名必須輸入
</ASP:RequiredFieldValidator>

在以上例子中,檢查txtName控件是否有輸入,如果沒有,顯示錯(cuò)誤信息"姓名必須輸入"。是不是很簡(jiǎn)單?
注意:以上代碼和下面其他控件的代碼最好放入Form中,和ASP中不一樣的是,Form最好寫為這樣:
<Form RunAt="Server">
其他代碼
</Form> ?
這樣,Form在服務(wù)器端執(zhí)行,提交才會(huì)有效;

二、CompareValidator(比較驗(yàn)證)控件

比較控件比較兩個(gè)控件的輸入是否符合程序設(shè)定,大家不要把比較僅僅理解為"相等",盡管相等是用的最多的,其實(shí),這里的比較包括范圍很廣,大家看標(biāo)準(zhǔn)代碼就會(huì)明白。

比較控件的標(biāo)準(zhǔn)代碼如下:
<ASP:CompareValidator id="Validator_ID" RunAt="Server"
ControlToValidate="要驗(yàn)證的控件ID"
errorMessage="錯(cuò)誤信息"
ControlToCompare="要比較的控件ID"
type="String|Integer|Double|DateTime|Currency"
operator="Equal|NotEqual|GreaterThan|GreaterTanEqual|LessThan|LessThanEqual|DataTypeCheck"
Display="Static|Dymatic|None"

占位符
</ASP:CompareValidator>

在以上標(biāo)準(zhǔn)代碼中:
  Type表示要比較的控件的數(shù)據(jù)類型;
  Operator表示比較操作(也就是剛才說的為什么比較不僅僅是"相等"的原因),這里,比較有7種方式;
  其他屬性和RequiredFieldValidator相同;
  在這里,要注意ControlToValidate和ControlToCompare的區(qū)別,如果operate為GreateThan,那么,必須ControlToCompare大于ControlToValidate才是合法的,這下,應(yīng)該明白它們兩者的意義了吧?例子程序請(qǐng)參考RequiredFieldValidator控件,對(duì)照標(biāo)準(zhǔn)代碼自己設(shè)計(jì)。

三、RangeValidator(范圍驗(yàn)證)控件

驗(yàn)證輸入是否在一定范圍,范圍用MaximumValue(最大)和MinimunVlaue來確定,標(biāo)準(zhǔn)代碼如下:

<ASP:RangeValidator id="Vaidator_ID" Runat="Server"?
controlToValidate="要驗(yàn)證的控件ID"
type="Integer"
MinimumValue="最小值"
MaximumValue="最大值"
errorMessage="錯(cuò)誤信息"
Display="Static|Dymatic|None"

占位符
</ASP:RangeValidator>

在以上代碼中:
用MinimumValue和MaximumValue來界定控件輸入值得范圍,用type來定義控件輸入值的類型。

四、RegularExpresionValidator(正則表達(dá)式)控件

正則表達(dá)式驗(yàn)證控件的功能非常強(qiáng)大,你可以自己容易構(gòu)造驗(yàn)證方式,我們先來看看標(biāo)準(zhǔn)代碼:

<ASP:RegularExpressionValidator id="Validator_ID" RunAt="Server"
ControlToValidate="要驗(yàn)證控件名"
ValidationExpression="正則表達(dá)式"
errorMessage="錯(cuò)誤信息"
display="Static"

占位符
</ASP:RegularExpressionValidator>

在以上標(biāo)準(zhǔn)代碼中,ValidationExpression是重點(diǎn),現(xiàn)在來看看它的構(gòu)造:
  在ValidationExpression中,不同的字符表示不同的含義:
  "."表示任意字符;
  "*"表示和其他表達(dá)式一起,表示容易組合;
  "[A-Z]"表示任意大寫字母;
  "\d"表示容易一個(gè)數(shù)字;
  注意,在以上表達(dá)式中,引號(hào)不包括在內(nèi);
  舉例:
   正則表達(dá)式:".*[A-Z]"表示數(shù)字開頭的任意字符組合其后接一個(gè)大寫字母。

五、ValidationSummary(驗(yàn)證總結(jié))控件

該控件收集本頁的所有驗(yàn)證錯(cuò)誤信息,并可以將它們組織以后再顯示出來。其標(biāo)準(zhǔn)代碼如下:

<ASP:ValidationSummary id="Validator_ID" RunAT="Server"
HeaderText="頭信息"
ShowSummary="True|False"
DiaplayMode="List|BulletList|SingleParagraph"

</ASP: ValidationSummary > ?
在以上標(biāo)準(zhǔn)代碼中,HeadText相當(dāng)于表的HeadText,DisplayMode表示錯(cuò)誤信息顯示方式:List相當(dāng)于HTML中的<BR>;BulletList相當(dāng)于HTML中的<LI>;SingleParegraph表示錯(cuò)誤信息之間不作如何分割;

六、CustomValidator(自定義驗(yàn)證)控件

該控件用自定義的函數(shù)界定驗(yàn)證方式,其標(biāo)準(zhǔn)代碼如下:

<ASP:CustomValidator id="Validator_ID" RunAt="Server"
controlToValidate="要驗(yàn)證的控件"
onServerValidateFunction="驗(yàn)證函數(shù)"
errorMessage="錯(cuò)誤信息"
Display="Static|Dymatic|None"

占位符
</ASP: CustomValidator >

以上代碼中,用戶必須定義一個(gè)函數(shù)來驗(yàn)證輸入。

七、總結(jié)
ASP.NET驗(yàn)證控件已經(jīng)介紹完了,大家可以發(fā)現(xiàn)它們的功能很強(qiáng)大,再也不要為驗(yàn)證而煩惱了。當(dāng)然,以上介紹并不是特別詳細(xì),細(xì)微的地方,還請(qǐng)大家自己閱讀微軟的SDK。

?

=======================附:asp.net驗(yàn)證控件中常用的正則表達(dá)式======================

asp.net驗(yàn)證控件中常用的正則表達(dá)式:

只能輸入數(shù)字:“^[0-9]*$”

只能輸入n位的數(shù)字:“^\d{n}$”

只能輸入至少n位數(shù)字:“^\d{n,}$”

只能輸入m-n位的數(shù)字:“^\d{m,n}$”

只能輸入零和非零開頭的數(shù)字:“^(0|[1-9][0-9]*)$”

只能輸入有兩位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{2}) $”

只能輸入有1-3位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{1,3}) $”

只能輸入非零的正整數(shù):“^+ [1-9][0-9]*$”

只能輸入非零的負(fù)整數(shù):“^-[1-9][0-9]*$”

只能輸入長(zhǎng)度為3的字符:“^.{3}$”

只能輸入由26個(gè)英文字母組成的字符串:“^[A-Za-z]+$”

只能輸入由26個(gè)大寫英文字母組成的字符串:“^[A-Z]+$”

只能輸入由26個(gè)小寫英文字母組成的字符串:“^[a-z]+$”

只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:“^[A-Za-z0-9]+$”

只能輸入由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:“^\w+$”

驗(yàn)證用戶密碼:“^[a-zA-Z]\w{5,17}$”正確格式為:以字母開頭,長(zhǎng)度在6-18之間, 只能包含字符、數(shù)字和下劃線。

驗(yàn)證是否含有^%&’,;= $”等字符:“[^%&',;= $x22]+”

只能輸入漢字:“^[u4e00-u9fa5],{0,}$”

驗(yàn)證Email地址:“^\w+[-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*$”

驗(yàn)證InternetURL:“^http://([\w-]+.)+[\w-]+(/[\w-./ %&=]*) $”

驗(yàn)證電話號(hào)碼:“^((\d{3,4})|\d{3,4}-) \d{7,8}$” 正確格式為:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”, “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

驗(yàn)證身份證號(hào)(15位或18位數(shù)字):“^d{15}|d{}18$”

驗(yàn)證一年的12個(gè)月:“^(0 [1-9]|1[0-2])$”正確格式為:“01”-“09”和“1”“12”

驗(yàn)證一個(gè)月的31天:“^((0 [1-9])|((1|2)[0-9])|30|31)$” 正確格式為:“01”“09”和“1”“31”。

轉(zhuǎn)載于:https://www.cnblogs.com/zhanghai/p/4461249.html

總結(jié)

以上是生活随笔為你收集整理的【转】ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。