空间不能使用此正则表达式

时间:2015-09-13 20:28:38

标签: php regex

我对这个正则表达式有疑问。

例如,我想检查此名称maikal rabie。我会弄错,因为我在这两个词之间有空格。我需要的是检查至少3个字符的真实姓名。

$Name = 'maikal rabie';
if(!preg_match('/^[A-Za-z]{3,}$/', $Name)) {                    
    // Do something false
}

1 个答案:

答案 0 :(得分:1)

你不是在你的正则表达式中寻找空格,所以它当然会返回错误。还记得名字(全名)可能超过2个名字,它们也可以包含特殊字符。

这是我构建的一个简单的正则表达式,它捕获名称中的空格和常用字符,并允许多个名称,以防有人有多个中间姓名

([A-Za-z\s-_']{3,}){2,}

这三个名字都适用于这个正则表达式

maikal rabie
D'Arcy Gordon
Michael Jones-Hartman

所以现在不是检查false,而是检查是否为

$Name = 'maikal rabie';
if(preg_match('/^([A-Za-z\s-_\']{3,}){2,}$/', $Name)) {                    
     // Do something true
}