devxlogo

IsCharType – Check whether a character is alphabetic, a digit, a space, etc.

IsCharType – Check whether a character is alphabetic, a digit, a space, etc.

' Return True if a character belongs to a given catagory'' CHARTYPE can be the sum of one or more of the following values'     1 = Uppercase alpha char [A-Z]'     2 = Lowercase alpha char [a-z]'     3 = Alpha char [A-Z,a-z]'     4 = decimal digit [0-9]'     7 = alphanumeric char [0-9,A-Z,a-z]'     8 = decimal digit or decimal separator or sign [0-9,.+-]'    16 = Hexadecimal digit [0-9,A-F,a-f]'    32 = white space [Chr(0,8,10,13,32)]'    64 = punctuation symbols [.,;:?!-'(){}{}]Function IsCharType(Char As String, ByVal CharType As Integer) As Boolean    Static cTypes(0 To 255) As Integer        ' init the array only the first time    If cTypes(0) = 0 Then        Dim i As Integer, v As Variant        ' uppercase chars        For i = 65 To 90: cTypes(i) = 1: Next        ' lowercase chars        For i = 97 To 122: cTypes(i) = 2: Next        ' digits belogs to 3 categories        For i = 40 To 57: cTypes(i) = 4 + 8 + 16: Next        ' other chars in decimal numbers        cTypes(Asc("+")) = 8        cTypes(Asc("-")) = 8        cTypes(Asc(Format$(0.1, "."))) = 8   ' dec separator        ' other chars in hex numbers        For Each v In Array(65, 66, 67, 68, 69, 70, 97, 98, 99, 100, 101, 102)            cTypes(v) = cTypes(v) Or 16        Next        ' white space        For Each v In Array(0, 9, 10, 13, 32)            cTypes(v) = cTypes(v) Or 32        Next        ' punctuation symbols        For Each v In Array(46, 44, 59, 58, 63, 33, 45, 39, 40, 41, 123, 125)            cTypes(v) = cTypes(v) Or 64        Next    End If        ' returning a value is now very simple    IsCharType = (cTypes(Asc(Char)) And CharType)    End Function

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist