ctype_alpha但允许空格(php)

时间:2010-05-29 22:52:23

标签: php

我想知道在用ctype_alpha检查时是否可以在文本字段中允许空格。由于ctype_alpha只允许使用字母,我不知道如何让用户在字段中输入空格。我确实尝试过使用ctype_space但是没有用。我只是希望用户能够只键入字母表,并且如果他们“希望”,他们可以选择包含空格。我希望我不必使用正则表达式。

elseif (!ctype_alpha($fname))
{
    echo "Your name may only contain alphabetical letters";   
}

3 个答案:

答案 0 :(得分:23)

这就是我要做的事情

if (!ctype_alpha(str_replace(' ', '', $fname)))

这只允许使用空格,但是如果你想允许的不仅仅是空格,比如标点符号,或者不允许,read up on str_replace,它允许使用数组

str_replace(array(' ', "'", '-'), '', $fname)

我建议这样做,因为名字可能有撇号和姓氏也可能有破折号

答案 1 :(得分:1)

您也可以在执行ctype_alpha之前简单地删除空格。

$fname=str_replace(" ", "", $fname);

if(!ctype_alpha($fname)){
  echo "Your name may only contain alphabetical letters";
}

答案 2 :(得分:0)

删除空格是可行的方法,但是记住ctype_alpha这些天在空字符串上会导致错误! 在我使用的方法下面......

function validateAlpha($valueToValidate, $spaceAllowed = false) {
    if ($spaceAllowed) {
        $valueToValidate = str_replace(' ', '', $valueToValidate);
    }
    if (strlen($valueToValidate) == 0) {
        return true;
    }
    return ctype_alpha($valueToValidate);
}