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

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

#1楼 票数:23

这就是我要做的

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

这只允许使用空格,但是如果你想要允许的不仅仅是空格,比如标点符号或什么不是, 请在str_replace上读取 ,它允许使用数组

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

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

#2楼 票数:1

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

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

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

#3楼 票数:0

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

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

  ask by Raj translate from so

未解决问题?本站智能推荐:

2回复

使用ctype_alpha时允许撇号?

我知道还有其他方法可以做到这一点,但我正在使用ctype_alpha验证名称字段,但允许使用空格,连字符和撇号。 在Stack上的另一篇文章中,我能够添加空格没有问题,但我认为我的语法错误替换了多个字符。 到目前为止我使用的是用于验证只允许字母和空格的内容: 这会在检查字符串只是字母
1回复

PHP根据$value(ctype_alpha)更改文本颜色

根据 PHP 中的变量 (ctype_alpha) 更改文本颜色的最简单方法是什么? 在 mysql 的表中,我有一些任务状态的更新(待处理/处理/已处理) 例如:如果 $var 是 PENDING-> red; 处理中->黄色; 已处理-> 绿色。 我知道如何用数字来做,但找不到
1回复

PHPsetlocale()无法用于ctype_alpha检查

我运行以下php代码: 并获得以下输出: 我希望在调用setlocale(LC_ALL,'de_DE.utf8')之后,ctype_alpha将接受像äöüß这样的德语字符,如文档中所写: “如果文本中的每个字符都是来自当前语言环境的字母,则返回TRUE,否则返回FALSE。 “ 但事
1回复

功能类似于ctype_alpha,但带有特殊字母

我在输入上使用了ctype_alpha() ,所以有人不能写数字或特殊符号。 但是我今天才注意到一个问题。 仅检查AZ,不检查ÅÄÖ等特殊字母。 我应该如何构造它呢? 因此,您不能写数字和特殊符号,但可以写特殊字母? 提前致谢!
1回复

ctype_alpha()是检查字符串是否仅包含字母的更好方法

过去,我一直使用preg_match()来执行此操作。 刚刚在http://www.php.net/manual/en/function.ctype-alpha.php遇到了ctype_alpha() 。 这是确认字符串仅包含字母的更快和/或更少资源占用的方法吗? 请注意,稍后我将在
2回复

如果ctype_alpha是数组的一部分,为什么不能将-128至255的整数识别为字母?

为什么这些返回true: ctype_alpha(74); // returns true $bar = 74; ctype_alpha($bar); // returns true 但这返回false: $foo = [1,2,3,'74']; ctype_alpha($foo[3]
1回复

当ctype_alpha包装在带有参数的函数中时,返回false

我有一个简单的函数,看起来像这样: 运行此功能时... ...它总是返回false。 我已经在函数中将var_dumped $ string_param参数返回了一个字符串。 但是由于某种原因,ctype_alpha却不这么认为。 知道这个函数为什么返回false,即使参数是字母
1回复

php-ctype_alpha无法正常工作?

我正在使用以下代码检查是否:1.名称小于2个字符2名称大于40个字符3.名称仅包含字母 它总是返回如果我输入任何内容,例如, 您的名字似乎无效 。 阿希什。 怎么了?