php正则中文多种验证方法

php正则中文多种验证方法,gb2312汉字字母数字下划线正则表达式:

preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str);

再看一判断实例,代码如下:

  1. $str = "中国";
  2. //if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在gb2312情况下使用
  3. if (preg_match("/^[x7f-xff]+$/", $str)) { //兼容gb2312,utf-8
  4. echo "正确输入";
  5. } else {
  6. echo "错误输入";
  7. }

编码表

双字节字符编码范围:

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正则表达式匹配中文的:preg_match('/^[xa1-xff0-9a-za-z]+$/',$val)

更详细代码如下:

  1. $val=$_get[name];
  2. if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $val))
  3. {
  4. //要执行的表达式
  5. }
  6. else
  7. {
  8. //要执行的表达式
  9. }

php中来判断字符串是否为中文,代码如下:

  1. if (preg_match("/^[u4e00-u9fa5]+$/",$str)) {
  2. print("该字符串全部是中文");
  3. } else {
  4. print("该字符串不全部是中文");
  5. }