PHP 检查字符串只包含任何语言的字母数字和空格
PHP check string has contains only letters numbers and spaces in any language
我如何检查字符串是否只包含任何语言的字母数字和空格?
我试过下面的方法,但它不检查特殊字符,如 -*/。
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
将使 $
匹配 最后 的字符串。
我如何检查字符串是否只包含任何语言的字母数字和空格?
我试过下面的方法,但它不检查特殊字符,如 -*/。
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
将使 $
匹配 最后 的字符串。