PHP – regex to allow letters and numbers only

1. Use PHP’s inbuilt ctype_alnum

You dont need to use a regex for this, PHP has an inbuilt function ctype_alnum which will do this for you, and execute faster:

$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
    if (ctype_alnum($testcase)) {
        echo "The string $testcase consists of all letters or digits.\n";
    } else {
        echo "The string $testcase does not consist of all letters or digits.\n";

2. Alternatively, use a regex

If you desperately want to use a regex, you have a few options.


preg_match('/^[\w]+$/', $string);

\w includes more than alphanumeric (it includes underscore), but includes all
of \d.



Or even just:


Leave a Comment