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"