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

标签 php preg-match special-characters

如何检查字符串是否只包含任何语言的字母数字和空格?
我已经尝试过,但它不会检查像 -*/这样的特殊字符。

 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将使$匹配字符串的末尾。

    关于PHP检查字符串只包含任何语言的字母数字和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63658168/

    相关文章:

    php - 表搜索的正确语法 (mysql)(php)

    php - 用于验证员工 ID 的正则表达式

    jquery - 允许输入西类牙语特殊字符

    mysql 在 win7 和 debian8 上产生不同的结果

    string - 如何检查字符串中是否有特殊字符或字符是否为GoLang中的特殊字符

    PHPStorm 自动完成不适用于 Laravel 5

    php - 保护服务器上的一个特定文件; .htaccess 有什么好办法吗?

    php - 调整在电话号码上使用 Preg_Match()

    php - 在 PHP 中使用 preg_match 时出现 "Unknown modifier ' g ' in..."?

    php - Zizaco/entrust 在 Blade 中使用 @permission 抛出错误