当前位置:编程学习 > php >>

php 判断字符串是否含有中文的正则表达式代码

PHP判断字符串中是否含有中文

看下面的代码,兼容gb2312和utf-8。
<?
$str = "测试中文";
echo $str;
echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文
if (preg_match("/[\x7f-\xff]/", $str)) { //判断字符串中是否有中文
echo "正确输入";
} else {
echo "错误输入";
}
?>
另附,双字节字符编码范围
1. GBK (GB2312/GB18030)
\x00-\xff GBK双字节编码范围
\x20-\x7f ASCII
\xa1-\xff 中文 gb2312
\x80-\xff 中文 gbk
2. UTF-8 (Unicode)
\u4e00-\u9fa5 (中文)
\x3130-\x318F (韩文
\xAC00-\xD7A3 (韩文)
\u0800-\u4e00 (日文)*/

-------------------------------------------------------------------------------------

PHP中判断字符串是否含有中文 

2012-02-13 10:14:00|  分类: php |字号 订阅
1.测试一
$str = '中文测试';
if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) {
    echo '全部是汉字';   
} else {
    echo '不全是汉字';
}


当$str = '中文测试'; 时输出"全部是汉字";
当$str = '中a文3测试'; 时输出"不全是汉字";


应用说明:当某个地方要求用户输入的内容必须全部是中文时,这个就派上用场了。


2.测试二
$str = '中a文3测试';
if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $str, $match)) {
    echo '含有汉字';   
} else {
    echo '不含有汉字';
}


当$str = '中a文3测试'; 时输出"含有汉字";
当$str = 'a345'; 时输出"不含有汉字";


应用说明:当某个地方要求用户输入的内容中必须含有中文时(而不一定全部是中文),这个就派上用场了。


经测试,上述变量$str的内容与utf8还是gbk编码无关,判断结果均是一样的。

============================================================================

php中判断字符串是否全是中文或含有中文的实现代码
-

php中判断字符串是否全是中文或含有中文的实现代码,主要是利用正则匹配中文判定。

一,判断全是中文
复制代码 代码如下:

$str="'324是";
if(!eregi("[^\x80-\xff]","$str")){
echo "全是中文";
}else{
echo "不是";
}

二,判断含有中文
复制代码 代码如下:

$str = "中文";
if (preg_match("/[\x7f-\xff]/", $str)) {
echo "含有中文";
}else{
echo "没有中文";
}

$pattern = '/[^\x00-\x80]/';
if(preg_match($pattern,$str)){
echo "含有中文";
}else{
echo "没有中文";
}

我这几种方法都是在utf-8下面测试的,别的编码下没有测试过。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,