【问题标题】:validate if UTF-8 string is alphabetic验证 UTF-8 字符串是否为字母
【发布时间】:2026-01-24 09:55:02
【问题描述】:

我有一些字符串:

$str = 'Xin chào';
$str2 = 'Xin chào 1';

为了检查这两个字符串变量是否是字母,我尝试使用ctype_alpha。 但是,ctype_alpha($str)ctype_alpha($str2) 都是虚假的。

是否有任何其他方法类似于 ctype_alpha 并且可以很好地使用 UTF-8?

【问题讨论】:

标签: php string utf-8 alphabetic


【解决方案1】:

这应该适合你

preg_match('/^\p{L}[\p{L} _.-]+$/u', $str);

欲了解更多信息,请查看http://php.net/manual/en/regexp.reference.unicode.php

【讨论】:

  • 为什么是p{L}[\p{L} _.-]+?只需p{L}+ 就足够了。