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

问题描述

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

我已经尝试过波纹管,但是它不检查-* /之类的特殊字符。

 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将使$两端都匹配的字符串。