Php全名验证?

Php全名验证?,php,html,forms,validation,preg-match,Php,Html,Forms,Validation,Preg Match,我需要php表单验证方面的帮助。我想验证一个人的全名。我有这样的想法: if(!preg_match("/^[a-zA-Z'-]+$/", $name)){ echo '<h4 class="error">Name is not valid! It must not contain numbers or special characters. <br> No letters or special characters allowed!</h4>&l

我需要php表单验证方面的帮助。我想验证一个人的全名。我有这样的想法:

if(!preg_match("/^[a-zA-Z'-]+$/", $name)){
    echo '<h4 class="error">Name is not valid! It must not contain numbers   or special characters. <br> No letters or special characters allowed!</h4><a href="contact.php" class="button block">Go back and try again.</a>';
exit;
}
if(!preg_match(“/^[a-zA-Z'-]+$/”,$name)){
echo'名称无效!它不能包含数字或特殊字符。
不允许包含字母或特殊字符!'; 出口 }
到目前为止,如果我写一些像John*或Jo7hn之类的东西,它可以很好地报告错误。如果我写Ivan Ivan就行了。问题是,如果我以任何方式写入空格,它会报告错误。那么,我怎样才能使我的全名写得有空格而不会出错,但仍然禁止使用数字和特殊字符呢?我觉得我在preg_match函数中遗漏了一些东西,但找不到

非常感谢:)

试试这个:

if(!preg_match("/^[a-zA-Z/'/-\040]+$/", $name)){ ...
\040是您想要的空间:)

我为您制作了一把简单的小提琴:

试试这个:

if(!preg_match("/^[a-zA-Z/'/-\040]+$/", $name)){ ...
\040是您想要的空间:)

我为您制作了一把简单的小提琴:

如果($name==“”){ $text=“错误!字段不能为空”; 返回$text; }

if(!preg_match(“/^[a-zA-Z'-]+$/”,$name)){
echo“名称无效!它不能包含数字或特殊字符。”;
出口
}
如果($name==“”){ $text=“错误!字段不能为空”; 返回$text; }

if(!preg_match(“/^[a-zA-Z'-]+$/”,$name)){
echo“名称无效!它不能包含数字或特殊字符。”;
出口
}

有关此“仅限代码”答案的其他解释可能会有所帮助。您回答的问题是什么?有关此“仅限代码”答案的其他解释可能会有所帮助。您回答的问题是什么?转义字符是反斜杠而不是正斜杠。为什么使用八进制而不是简单空格?转义字符是反斜杠而不是正斜杠。为什么使用八进制而不是简单的空格?