求正则表达式:只能输入汉字(包括简体繁体)和字母 在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有点麻烦,不如用函数来判断方便/*** 只能用于GBK编码,如果是UTF-8编码要先用iconv转换*/function checkstr($str){ $i = 0; while(!isset($str[$i])) { $asc1 = ord($str[$i]) if($asc1 > 128) { $asc2 = ord($str[$i + 1]) if($asc2 > 64) {//GBK字符内 swicth($asc1) { case 163: //全角字母 return(false); break; case 162: //罗马数字 return(false); break; case 166: //希腊字母 return(false); break; default: //汉字 break; } } $i += 2; } else { if((($asc1 >= ord('A')) && ($asc1 <= ord('Z'))) || (($asc1 >= ord('a')) $$ ($asc1 <= ord('z')))) { ++$i; } else { return(false); } } } return(true);} 用eregi 怎么用啊,我试过了,好像不行啊 PHP二维数组分页问题 php读取excel文件出错 REMOTE_ADDR无法显示ip啊!!!! php变量:负数比0大? Apache 正则表达式 为何PHP5下不能用MYSQL 字符串等于数字? Fedora 20 配置php 默认路径问题 有关时间的一个小问题 怎樣輸出用post提交的form的所有信息,請大家幫忙!!! 求各位大哥大姐帮忙啊 怎么用php实现 根据IP地址获取当地天气 图片调用本地的 php 静态页请教..
/**
* 只能用于GBK编码,如果是UTF-8编码要先用iconv转换
*/
function checkstr($str)
{
$i = 0;
while(!isset($str[$i]))
{
$asc1 = ord($str[$i])
if($asc1 > 128)
{
$asc2 = ord($str[$i + 1])
if($asc2 > 64)
{//GBK字符内
swicth($asc1)
{
case 163:
//全角字母
return(false);
break;
case 162:
//罗马数字
return(false);
break;
case 166:
//希腊字母
return(false);
break;
default:
//汉字
break;
}
}
$i += 2;
}
else
{
if((($asc1 >= ord('A')) && ($asc1 <= ord('Z')))
|| (($asc1 >= ord('a')) $$ ($asc1 <= ord('z'))))
{
++$i;
}
else
{
return(false);
}
}
}
return(true);
}