请问怎么判断一个字符串是字符还是汉字? for i=1 to len(str)char=(mid(str,i,1))tmp=65536+asc(char)if tmp>=45217 and tmp<=62289 then msgbox "汉字"end ifnext 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 取该字符的ASCII码值 如果在0x41~0x7a之间,为英文字符(包括标点符号) 如果是GB2312-80编码 编码范围是高位0xa1-0xfe,低位是 0xa1-0xfe 汉字范围为 0xb0a1 和 0xf7fe <script language=vbscript>for i=1 to len(str) char=mid(str,i,1) tmp=65536+asc(char) if tmp>=45217 and tmp<=62289 then msgbox "汉字" end ifnext</script> <?php$str = "1";if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { echo "这是一个纯中文字符串";} else { echo "这不是一个纯中文字串"; }?> function getstrsize($str,$len){ $m=0; for($i=0;$i<$len;$i++) { $j=ord(substr($str,$i,1)); if(!($j<=122)) $m++; } return $m;}function Str_sub($str,$lenth){ $tem=$str; if(strlen($str)>$lenth) { $i=ord(substr($str,$lenth-1,1)); if($i<=122) $tem=substr($str,0,$lenth); else { if(getstrsize($str,$lenth)%2==0) $tem=substr($str,0,$lenth); else { $tem=substr($str,0,$lenth-1); } } $tem.="¡­¡­";} return $tem;} 按值判断//截取指定字符串长度(不会将汉字截开)!function fixlenstr($str,$len){ $str = (string)$str; $len = (int)$len; $strlen = strlen($str); if($len>$strlen) $len = $strlen; $i = 0; $fixlen = 0; while($i<$len) { $chr = $str[$i]; $i++; if(ord($chr)<0x80) $fixlen++; elseif($i<$len) { $i++; $fixlen += 2; } } return $len>=$strlen ? substr($str,0,$fixlen) : substr($str,0,$fixlen)."...";} ord($chr)<0x80核心就是这个啦 http://www.jdon.com/AOPdesign/jdon-aop.htmgood $string="汉";if (ord($string)>128){ echo "汉字";}else{ echo "EN";} 用ord来检查,大于128就是汉字 请教个html中的问题 所有的标签中都可以加选择器么? 对wordpress熟悉的高手进 网页的密码自动填写是什么原理? CRC32返回值的范围是多少? 循环写入文件出错>>请求指点! PHP+MYSQL的疑难问题请教高手,谢谢 哪位兄弟姐妹有中控 ZKOnline SDK开发包,帮忙提供一份 打的开php文件,却打不开html文件?? iis5+Php4连接oracle问题 namespace在php中用的多吗? phpedit求救,自动安装完后编辑了一php文件,然后运行,提示错误是文件没有保存,但是文件明明是保存了的. apache配置问题
如果在0x41~0x7a之间,为英文字符(包括标点符号) 如果是GB2312-80编码
编码范围是高位0xa1-0xfe,低位是 0xa1-0xfe
汉字范围为 0xb0a1 和 0xf7fe
for i=1 to len(str)
char=mid(str,i,1)
tmp=65536+asc(char)
if tmp>=45217 and tmp<=62289 then
msgbox "汉字"
end if
next
</script>
$str = "1";
if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) {
echo "这是一个纯中文字符串";
} else {
echo "这不是一个纯中文字串";
}
?>
{
$m=0;
for($i=0;$i<$len;$i++)
{
$j=ord(substr($str,$i,1));
if(!($j<=122))
$m++;
}
return $m;
}
function Str_sub($str,$lenth)
{
$tem=$str;
if(strlen($str)>$lenth)
{
$i=ord(substr($str,$lenth-1,1));
if($i<=122)
$tem=substr($str,0,$lenth);
else
{
if(getstrsize($str,$lenth)%2==0)
$tem=substr($str,0,$lenth);
else
{
$tem=substr($str,0,$lenth-1);
}
}
$tem.="¡­¡­";}
return $tem;
}
//截取指定字符串长度(不会将汉字截开)!
function fixlenstr($str,$len)
{
$str = (string)$str;
$len = (int)$len;
$strlen = strlen($str);
if($len>$strlen) $len = $strlen;
$i = 0;
$fixlen = 0;
while($i<$len)
{
$chr = $str[$i];
$i++;
if(ord($chr)<0x80) $fixlen++;
elseif($i<$len)
{
$i++;
$fixlen += 2;
}
} return $len>=$strlen ? substr($str,0,$fixlen) : substr($str,0,$fixlen)."...";
}
good
if (ord($string)>128){
echo "汉字";
}else{
echo "EN";
}