(!ctype_alpha($director))
我正在尝试使用ctype_alpha()函数。
EG
if(!ctype_alpha($variable)) {
The value entered contains other characters.
}
这种方法的问题是它不允许带空格的字符串。如何确保用户仅输入字母,但允许空格(即名称)?
答案 0 :(得分:2)
这很大程度上取决于你所谓的字母,例如:a-z? a-záéç?对于第一个你应该使用:
if (preg_match("/^[a-zA-Z ]*$/",$variable)) {
}
第二个:
if (preg_match("/^[[:alpha:] ]*$/",$variable)) {
}
如需更多选项,请查看PHP's PCRE manual page。
答案 1 :(得分:0)
尝试以下方法:
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
将是您选择的字符串。
答案 2 :(得分:0)
它会很慢,但对于小输入流不是问题,你可以简单地在字符串中循环一个字符并检查!ctype_alpha($ c)&& ! ctype_space($ c)。
答案 3 :(得分:0)
您可以像我的代码一样使用function
。在输入str_replace
条件之前,我使用if else
删除空格。因此,如果TRUE
包含字母字符,它将返回variable
。
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
}