本文目录一览:
PHP正则匹配中文
在PHP里,包含数字、字母、下划线或中文的正则表达式如下:$pattern = "/[0-9a-zA-Z_\x80-\ff]+/";
php中如何用正则表达式匹配中文字符呢?
php中匹配一个或多个中文字符(包含简体和繁体中文字符)的正则表达式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正则表达式的16进制是以
\x
开头的。
PHP正则表达式验证是否含有中文
判断是否有中文。
if (preg_match("/[\x7f-\xff]/", $string)) { echo "true"; }else{ echo "false"; }判断是否全部是中文
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用 if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8
echo "true";
} else {
echo "false";
}
判断中文和编码有关 gbk是双字节,utf8是三字节,可以根据中文的范围来判断
编码范围1. GBK (GB2312/GB18030)
/x00-/xff GBK双字节编码范围
/x20-/x7f ASCII
/xa1-/xff 中文
/x80-/xff 中文
2. UTF-8 (Unicode)
/一-/龥 (中文)
/x3130-/x318F (韩文
/xAC00-/xD7A3 (韩文)
/u0800-/一 (日文)
ps: 韩文是大于[/龥]的字符
正则例子:
preg_replace("/([/x80-/xff])/","",$str);
preg_replace("/([一-龥])/","",$str);
希望可以采纳,谢谢。
php正则判断字符串是否含有中文
function chk_cn($str){
if(preg_match('|[\x{4e00}-\x{9fa5}]+?|u',$str)){
return true;
}
return false;
}
调用这个 函数,返回true则是含有中文,false则无中文。
另外,\x{4e00}-\x{9fa5} 这个范围我也不太确定是不是包含所有的中文范围,没有认真研究它的取值范围。