驗證控制項 RegularExpressionValidator 基本的特殊定義字元

摘要:驗證控制項 RegularExpressionValidator 基本的特殊定義字元

驗證控制項 RegularExpressionValidator 基本的特殊定義字元
●[]  用來設定可以接受的字元
  [abcde]表示只接受abcde五個小寫英文字母
  [0-9]表示只接受10個阿拉伯數字
  [a-zA-Z]表示只接受大小寫的英文字母
  [^0-9]表示除了0-9以外的字視都接受(^表示差集合)

●{}  用來設定前面字元重複次數
  [0-9]{5}表示一定要鍵入5個數字字元
  [A-Z]{2,4}表示最少2個、最多4個字元且為英文大寫
  [^abc]{1,}表示最少要輸入1個字元以上,每個字元不可以是a或b或c

●.  表示可接受任意字元
  f.x  代表任何f開頭,x結尾, 共3個
  
T...y 代表T開頭,y結尾, 共5個字的字串
  T.{3}y 同上面的 "T...y"

●^為差集合,不包含的意思
  [^0-9a-z]..Z 代表搜尋所有前面不是數字和小寫英文字, 中間夾著兩個任意字元 , 最後接著大寫Z的字串

●|  表示邏輯運算子的or

●()  用來區隔規則運算式,以方便閱讀

●\ 上述的字元都是規則運算式中的定義符號,如果要輸入的字元必須含有這些符號,就必須在這些符號前加上倒斜線\

●計算數量用的中繼字元
?  代表前面的項目重複0次或1次
*  代表前面的項目重複0~無限次
+ 代表前面的項目重複1~無限次

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

ex 限制數字

TextBox.ValidationSettings.RegularExpression.ValidationExpression = @"\d{1," + m_oTextBox.MaxLength + "}";

一些常用的範圍,我們可以使用預先定義的字元類別:

 

\d 等於 [0-9] 數字
\D 等於 [^0-9] 非數字
\s 等於 [ \t\n\x0B\f\r] 空白字元
\S 等於 [^ \t\n\x0B\f\r] 非空白字元
\w 等於 [a-zA-Z_0-9] 數字或是英文字
\W 等於 [^a-zA-Z_0-9] 非數字與英文字

 

 

 




一些常用的驗證項目如下

 

 

電話號碼

[0-9]{2}-[0-9]{7}
符合如 02-3790850 的電話號碼,但若是電話號碼如082-263409就不符合了

email

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
表示1個以上的數字或是英文字

身份證

([A-Z]|[a-z])\d{9}
第一個字元可以是大小寫的英文,後面接9字元的數字

郵遞區號

\d{3}((-)?\d{2})?
前3字元為數字,-這個符號可有可無,後面再接2字元的數字(也是可有可無) 註:可有可無的符號用?,而要包含哪些字串則用()來括起

電話或手機 

((\d{10})|(((\(\d{2}\))|(\d{2}-))?\d{4}(-)?\d{3}(\d)?))
可以是10字元的數字(如0912123455);也可以是包含括號括住2字元的數字(如(08),或再加個-符號(如08-),或是…好複雜…我也亂了

網址

http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
前面一定要http,s可有可無,://都是字串,後面的
([\w-]+\.)+就是表示([\w-]+\.)這串可不停重複,而([\w-]+\.)這串就是說可以是一堆的英數字元並加上.(如abc.BCA.hht.qd.)