我努力了:
preg_match("/^[a-zA-Z0-9]", $value)
但我猜我做错了什么。
您不需要为此使用正则表达式,PHP有一个内置函数ctype_alnum可以为您执行此操作,并且执行速度更快:
ctype_alnum
<?php $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"; } } ?>
如果您非常想使用正则表达式,则有几种选择。
首先:
preg_match('/^[\w]+$/', $string);
\w包含多个字母数字(包括下划线),但包含所有\d。
\w
\d
或者:
/^[a-zA-Z\d]+$/
甚至只是:
/^[^\W_]+$/