ctype_alnum($string);这个函数只可以判断字母,但如果字母中带个空格就返回假了,怎么改一下呢,急。
自己写个函数,最简单的方法是用正则表达式验证
function CheckChars($str){
if(empty($str))return false;
return (bool)preg_match("/^([a-z\s]*)$/isU",$str);
}
echo CheckChars("hello")==true?"OK":"ERROR";
echo CheckChars("hello world")==true?"OK":"ERROR";
echo CheckChars("hello world 123 ")==true?"OK":"ERROR";
function CheckChars($str){
if(empty($str))return false;
return (bool)preg_match("/^([a-z\s]*)$/isU",$str);
}
echo CheckChars("hello")==true?"OK":"ERROR";
echo CheckChars("hello world")==true?"OK":"ERROR";
echo CheckChars("hello world 123 ")==true?"OK":"ERROR";
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-09-01
str_replace(" ","",$string);取消空格
然后
ctype_alnum($string);判断字母
然后
ctype_alnum($string);判断字母
第2个回答 2019-08-31
#include<stdio.h>
int
main()
{
int
i,cc,cd,ce,co;
char
str[100];
printf("输入字符串:");
gets(str);
cc=cd=ce=co=0;
for(i=0;
str[i]!='\0';
i++)
{
if(str[i]>='a'&&str[i]<='z'||str[i]>='a'&&str[i]<='z')
{
cc++;
}
else
if(str[i]>='0'&&str[i]<='9')
{
cd++;
}
else
if(str[i]=='
')
{
ce++;
}
else
{
co++;
}
}
printf("字母、数字、空格和其他字符的个数分别为:%d、%d、%d、%d\n",cc,cd,ce,co);
}
int
main()
{
int
i,cc,cd,ce,co;
char
str[100];
printf("输入字符串:");
gets(str);
cc=cd=ce=co=0;
for(i=0;
str[i]!='\0';
i++)
{
if(str[i]>='a'&&str[i]<='z'||str[i]>='a'&&str[i]<='z')
{
cc++;
}
else
if(str[i]>='0'&&str[i]<='9')
{
cd++;
}
else
if(str[i]=='
')
{
ce++;
}
else
{
co++;
}
}
printf("字母、数字、空格和其他字符的个数分别为:%d、%d、%d、%d\n",cc,cd,ce,co);
}