2012年8月22日 星期三

用Char來判斷字元是英文字母或數字

為了改良「判斷身分證字號及統一編號是否正確」,因此在檢查是否符合規則之前,先排除英文字母跟數字之外的其他文字。所以使用Char.IsNumberChar.IsLetter來判斷。


範例:
'檢查滿10碼的身分證字號
If x.Length = 10 then
    '檢查第一碼是否為英文字母
    If Not Char.IsLetter(x.Substring(0, 1)) Then 
        Return "第一碼應為英文字母。"
    End If

    '檢查其餘九碼是否為數字
    For i As Integer = 1 To x.Length - 1
        If Not Char.IsNumber(x.Substring(i, 1)) Then 
            Return "【所得人統一編(證)號】錯誤。"
        End If
    Next
End If


下面是其他的Char的公用方法:

IsControl       指示指定的 Unicode 字元是否分類為控制字元。 
IsDigit         指示 Unicode 字元是否分類為十進位數字。 
IsHighSurrogate 指出指定的 Char 物件是否為高 Surrogate。 
IsLetter        指示 Unicode 字元是否分類為字母。 
IsLetterOrDigit 指示 Unicode 字元是否分類為依字母順序排列的字母或十進位數字。 
IsLower         指示 Unicode 字元是否分類為小寫字母。 
IsLowSurrogate  指出指定的 Char 物件是否為低 Surrogate。 
IsNumber        指示 Unicode 字元是否分類為數字。 
IsPunctuation   指示 Unicode 字元是否分類為標點符號。 
IsSeparator     指示 Unicode 字元是否分類為分隔符號字元。 
IsSurrogate     指示 Unicode 字元是否分類為 Surrogate 字元。 
IsSurrogatePair 指出兩個指定的 Char 物件是否會組成 Surrogate 字組。 
IsSymbol        指示 Unicode 字元是否被分類為符號字元。 
IsUpper         指示 Unicode 字元是否分類為大寫字母。 
IsWhiteSpace    指示 Unicode 字元是否分類為泛空白字元 (White Space)。 

沒有留言:

張貼留言