Skip to main content

alphanumericp

alphanumericp Function

Syntax:

alphanumericp character → generalized-boolean

Arguments and Values:

character—a character .

generalized-boolean—a generalized boolean.

Description:

Returns true if character is an alphabetic1 character or a numeric character ; otherwise, returns false.

Examples:

(alphanumericp #\Z) → true 
(alphanumericp #\9) → true
(alphanumericp #\Newline) → false
(alphanumericp #\#) → false

Affected By:

None. (In particular, the results of this predicate are independent of any special syntax which might have been enabled in the current readtable.)

Exceptional Situations:

Should signal an error of type type-error if character is not a character .

See Also:

alpha-char-p, graphic-char-p, digit-char-p

Notes:

Alphanumeric characters are graphic as defined by graphic-char-p. The alphanumeric characters are a subset of the graphic characters. The standard characters A through Z, a through z, and 0 through 9 are alphanumeric characters.

(alphanumericp x)

(or (alpha-char-p x) (not (null (digit-char-p x))))

Expanded Reference: alphanumericp

Basic alphanumeric tests

alphanumericp returns true if the character is either alphabetic or a digit.

(alphanumericp #\a)
=> T
(alphanumericp #\Z)
=> T
(alphanumericp #\5)
=> T
(alphanumericp #\0)
=> T

Non-alphanumeric characters

Punctuation, whitespace, and non-graphic characters return false.

(alphanumericp #\#)
=> NIL
(alphanumericp #\Space)
=> NIL
(alphanumericp #\Newline)
=> NIL
(alphanumericp #\-)
=> NIL
(alphanumericp #\!)
=> NIL

Equivalence with alpha-char-p and digit-char-p

alphanumericp is equivalent to testing whether a character satisfies alpha-char-p or digit-char-p.

(defun my-alphanumericp (char)
(or (alpha-char-p char)
(digit-char-p char)))

(my-alphanumericp #\a)
=> T
(my-alphanumericp #\7)
=> 7
(my-alphanumericp #\!)
=> NIL

Validating identifiers

A common use is checking whether strings contain only alphanumeric characters, for example when validating user input.

(every #'alphanumericp "Hello123")
=> T
(every #'alphanumericp "Hello World")
=> NIL
(every #'alphanumericp "no-hyphens")
=> NIL

Filtering a string to alphanumeric characters only

(remove-if-not #'alphanumericp "abc-123_def!456")
=> "abc123def456"