我正在尝试编写一个简单的正则表达式来验证姓名和姓氏。我在使用特殊字符时遇到了一些麻烦。
我希望名称至少由一个 a-zA-Z 组成,然后是空格、点和字符 ' 的任意组合
试图验证像 Penny O'Malley 或 Rob M. Johnson 这样的好名字
到目前为止,我正在运行这个:
/^[A-z][A-z\s.']+$/
但它与上面的名称不匹配;它适用于没有 . 和 ' ,并且不在乎是否有开头空格....
已解决:根据@basher 的要求,这是我在 laravel 验证器中运行的代码。有趣的是,我很肯定我首先尝试了反斜杠版本(你在下面看到的那个,而不是我放在原始帖子中的那个)并且似乎没有工作......
'name' => 'required|between:3,15|regex:/^[A-z][A-z\s\.\']+$/',
'surname' => 'required|between:3,15|regex:/^[A-z][A-z\s\.\']+$/',
感谢所有做出贡献的人。不过,我不确定如何在你们中间将功劳归于正确答案。@user2141046,是的,\s 似乎可以工作,至少在 laravel 框架中是这样。