Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想检查一个变量是否只包含字母字符和撇号 (') 以及破折号 (-) 和空格 () 字符。我如何preg_match()在 PHP 中做到这一点?
preg_match()
我有 /[^a-zA-Z'-\s]/i 并且没有撇号就解决了。
尝试/^[a-zA-Z'\-\s]*$/作为您的正则表达式字符串。请注意,此正则表达式也将匹配空白字符串。
/^[a-zA-Z'\-\s]*$/
preg_match('/^[\s\pL'-]+$/',$string)
这是我会做的方式
//编辑
也许如果您的字母数量最少,请使用:
preg_match("/^[\s\pL'-]{5,}$/",$string) //{x,} ---> x is your min number