PHP - 检查字符串是否是多字节字母数字字符

时间:2014-06-18 09:18:52

标签: php utf-8 multibyte

我需要找出一个字符串是否只包含一个字母数字字符。显而易见的解决方案是检查长度和ASCII代码(A-Za-z0-9) - 但问题是我使用的是UTF-8字符串和重音符号像ářč等字母

有没有一种简单的方法来检查UTF-8字符是否是字母数字(拉丁字母,可能是重音字母或数字)?

1 个答案:

答案 0 :(得分:0)

使用regular expression

可轻松完成此操作
$count = preg_match_all('/\w/u', $string);
if ($count === 1) {
    echo "One alphanumeric character found";
}

\w将匹配任何“单词”字符,即字母,数字和下划线。 u修饰符将字符串视为unicode,因此它将包含重音字符。

如果匹配下划线有问题,您可以使用[:alnum:]作为character class匹配。