PHP检查字符串仅包含任何语言的字母、数字和空格

2022-03-29 00:00:00 special-characters php preg-match

如何检查字符串是否仅包含任何语言的字母、数字和空格?

我试过了,但没有检查-*/之类的特殊字符。

 preg_match("/[p{L}]/u", $string )
 preg_match("/[p{N}]/u", $string  )

解决方案

您可以使用

preg_match('~^[p{L}p{N}s]+$~uD', $string)

详细信息

  • ^-字符串开始
  • [p{L}p{N}s]+-一个或多个字母、数字或空格
  • $-字符串结尾。

u修饰符将启用Unicode字符串分析,并使正则表达式中的所有模式都能识别Unicode,D将使$与字符串的末尾匹配。

相关文章