(!ctype_alpha($director))
我正在尝试使用 ctype_alpha() 函数。
EG
if(!ctype_alpha($variable)) {
The value entered contains other characters.
}
这种方法的问题在于它不允许带有空格的字符串。如何确保用户只输入字母,但允许空格(即名称)?
这在很大程度上取决于你所说的字母顺序,比如:a-z? a-z á é ç?首先,您应该使用:
if (preg_match("/^[a-zA-Z ]*$/",$variable)) {
}
对于第二个:
if (preg_match("/^[[:alpha:] ]*$/",$variable)) {
}
有关更多选项,您应该查看PHP的PCRE手册页。
它会
很慢,但对于小的输入流不是问题,您可以简单地一次循环一个字符的字符串并检查 !ctype_alpha( $c ) &&! ctype_space( $c )。
尝试以下操作:
preg_match('/[a-zA-Z ]+/', $variable, $matches);
print_r($matches);
实际上
function alphaSpace($string){
return preg_match('/[a-zA-Z ]+/', $string) ? 1 : 0;
}
echo alphaSpace($someString) ? "It's a match!" : "It's not a match.";
,只会显示是否有匹配项。当然,$someString
将是您选择的字符串。
你可以
像我的代码一样使用function
。我使用str_replace
在进入if else
条件之前删除空格。因此,如果variable
包含字母字符,它将返回TRUE
。
function check_string($var){
$var = str_replace(' ', '', $var);
if(ctype_alpha($var)){
$result = TRUE;
}
else{
$result = FALSE;
}
return $result;
}
EG
if(check_string($var)) {
TRUE IF VARIABLE CONTAINS ALPHABETIC CHARACTERS
}