现在我的全名是:
if(empty($_POST['full_name']) || strlen($_POST['full_name']) < 4)
{
$errormessage[] = "ERROR.\n";
}
如何验证全名,因此输入的名称应包含空格?
如果有人输入:
John Andersson
没关系,但如果他进入:
JohnAndersson
不行,错误。所以你需要在你的全名中加上一个“空格”。
答案 0 :(得分:3)
像这样:
if (strpos(trim($_POST['full_name']), ' ') !== false){
// user has specified first and last name
}
elseif (strpos(trim($_POST['full_name']), ' ') !== true){
// user has specified a single name
}
您需要输入trim
函数来检查错误的名称,例如:
Justin Alba[space]
[space]Justin Alba
Justin[space]
[space]Justin
答案 1 :(得分:1)
你可能有两个字段,一个用于名字,一个用于姓氏。
我假设你不希望有一个名字的人填写你的表格,所以你要排除Bono,Eminem,Prince,Sting,Bjork,Enya和其他一些人。
答案 2 :(得分:1)
你可以做的是拆分字符串然后检查然后拆分字符串部分。
$nameSplit = explode(' ', $name);
if(count($nameSplit) < 2)
{
//Only one name given
}
else
{
$firstName = trim($nameSplit[0]);
$secondName = trim($nameSplit[1]);
if($secondName == '')
{
//No second name given
}
}
答案 3 :(得分:0)
您可以进行如下测试:
$fullName = 'JohnAndersson';
if ( ucfirst(strtolower($fullName)) != ucfirst($fullName) ) {
echo 'It is not valid';
}
ucfirst(strtolower($fullName))
会将您的字符串转换为Johnandersson
,但不等于JohnAndersson
,因此它应包含空格。