PHP - 正则表达式,仅允许字母和数字
2022-08-30 10:21:05
我试过:
preg_match("/^[a-zA-Z0-9]", $value)
但我做错了什么,我猜。
我试过:
preg_match("/^[a-zA-Z0-9]", $value)
但我做错了什么,我猜。
你不需要为此使用正则表达式,PHP有一个内置的函数,可以为你做到这一点,并且执行得更快: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
或者:
/^[a-zA-Z\d]+$/
甚至只是:
/^[^\W_]+$/
您省略了(模式分隔符)和(匹配结束字符串)。/
$
preg_match("/^[a-zA-Z0-9]+$/", $value)