php汉字正则表达式

 gbk编码下汉字正则

1.判断字符串是否全是汉字

代码如下

<?php
$str = '全部是汉字测试';
if (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) {
echo '全部是汉字'; 
} else {
echo '不全是汉字';
}
?>

当$str = '全部是汉字测试'; 时输出"全部是汉字";
当$str = 'all全部是汉字测试'; 时输出"不全是汉字";

2.判断字符串是否包含汉字

代码如下

<?php
$str = '汉字3测试';
if (preg_match("/([x81-xfe][x40-xfe])/", $str, $match)) {
echo '含有汉字'; 
} else {
echo '不含有汉字';
}
?>

当$str = '汉字3测试'; 时输出"含有汉字";
当$str = 'abc345'; 时输出"不含有汉字";

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

utf-8编码下用正则表达式如何匹配汉字

 

代码如下

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

时间: 2024-12-09 00:30:48

php汉字正则表达式的相关文章

php 汉字正则表达式实例详解

gbk编码下汉字正则 1.判断字符串是否全是汉字  代码如下 复制代码 <?php     $str = '全部是汉字测试';     if (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) {         echo '全部是汉字';      } else {         echo '不全是汉字';     } ?> 当$str = '全部是汉字测试'; 时输出"全部是汉字"

php/js汉字正则表达式总结

  js版 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 匹配双字节字符(包括汉字在内):[^/x00-/xff]  代码如下 复制代码 var reg =  /^[u4e00-u9fa5]+$/; if(reg.test(str)) {    alert('汉字的干活'); } 计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa

java匹配中文汉字的正则表达式

  代码如下   [u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符 [u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符 匹配中文字符的正则表达式: [u4e00-u9fa5] 匹配双字节字符(包括汉字在内):[^x00-xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 代码如下   String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").

js 求帮忙写一个正则表达式 要求只能输入 数字英文和汉字的 其他的一律不能输入

问题描述 js 求帮忙写一个正则表达式 要求只能输入 数字英文和汉字的 其他的一律不能输入 js 求帮忙写一个正则表达式 要求只能输入 数字英文和汉字的 其他的一律不能输入 解决方案 [d|A-z|u4E00-u9FFF]+这个可以匹配简繁中文和任意数字以及字母. 解决方案二: 网上找的,试一下行不行 ^[u4E00-u9FA5A-Za-z0-9]+$ 解决方案三: 我试了一下可以啊 <input id=""a"" type=""text&

python实现统计汉字/英文单词数的正则表达式_正则表达式

思路 •使用正则式 "(?x) (?: [\w-]+ | [\x80-\xff]{3} )"获得utf-8文档中的英文单词和汉字的列表. •使用dictionary来记录每个单词/汉字出现的频率,如果出现过则+1,如果没出现则置1. •将dictionary按照value排序,输出. 源码 复制代码 代码如下: #!/usr/bin/python # -*- coding: utf-8 -*- # #author: rex #blog: http://iregex.org #filen

php中utf-8编码下用正则表达式如何匹配汉字_正则表达式

在javascript中,要判断字符串是中文是很简单的.比如: 复制代码 代码如下: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); } else { alert("该字符串不全部是中文"); } 想当然的,在php中来判断字符串是否为中文,就会沿袭这个思路: 复制代码 代码如下: <?php $str = "php编程&qu

求正则表达式:只能输入汉字,字母,数字,其他符号不能输入

问题描述 求正则表达式:只能输入汉字,字母,数字,其他符号不能输入 解决方案 解决方案二:在这里不给分的问题基本上没人理睬

c++-C++ 正则表达式 汉字有些显示不出

问题描述 C++ 正则表达式 汉字有些显示不出 在C++中使用正则表达进行匹配,想实现只可以匹配汉字.字母.数字.下划线 用的如下公式: regex pattern("^[a-zA-Z0-9_u4e00-u9fa5]{0,}+$"); 编译运行的时候,数字.字母均可以实现,下划线实现不了,汉字是有些不能显示. 求教各位大神指出哪边有问题,或者可不可以教我正确的表达式~不吝感激 解决方案 字母数字下划线,可以用w来代替 汉字要看你的字符串中汉字是否为unicode的编码. 解决方案二:

江湖救急:中文汉字字符用正则表达式怎么表示?

问题描述 江湖救急:中文汉字字符用正则表达式怎么表示? 百思不得其解,"[答案]"或"答案 :"用正则表达式怎么表示? 解决方案 正则表达式 - 中文字符的匹配 解决方案二: 如果是单纯的中文汉字,java里面用unicode中文码,那么正则表达式是:String regexStr = "[u4E00-u9FA5]"; 你如果只是需要匹配"答案"这两个中文汉字的话,可以找到这两个中文汉字的unicode分别是u7b54,u68