php和JS正则表达式匹配中文

一、判断中文和编码有关 gbk是双字节,utf8是三字节,可以根据中文的范围来判断   

 编码范围

1. GBK (GB2312/GB18030)   

x00-xff GBK双字节编码范围   
x20-x7f ASCII   
xa1-xff 中文   
x80-xff 中文  
  
2. UTF-8 (Unicode)   

u4e00-u9fa5 (中文)   
x3130-x318F (韩文   
xAC00-xD7A3 (韩文)   
u0800-u4e00 (日文)   
ps: 韩文是大于[u9fa5]的字符 

二、JS判断中文

var str = "php编程";
if (/^[u4e00-u9fa5]+$/.test(str)) {
alert("该字符串全部是中文");
} else {
alert("该字符串不全部是中文");
}

三、PHP中判断中文

$str = "php编程";
if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) {
print("该字符串全部是中文");
} else {
print("该字符串不全部是中文");
}

注意:

在php中,是用x表示十六进制数据

u (PCRE_UTF8)
此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。

原文地址:https://www.cnblogs.com/zhanglm125/p/5606844.html