php 正则判断中文(自动识别UTF-8 & GBK编码)

 代码如下 复制代码
$action = trim($_get['action']);
if($action == "sub")
{
    $str = $_post['dir'];   
    //if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str)) //gb2312汉字字母数字下划线正则表达式
    if(!preg_match("/^[x{4e00}-x{9fa5}a-za-z0-9_]+$/u",$str))   //utf-8汉字字母数字下划线正则表达式
    {  
        echo "<font color=red>您输入的[".$str."]含有违法字符</font>";  
    }
    else
    {
        echo "<font color=green>您输入的[".$str."]完全合法,通过!</font>";  
    }
}
?>

<form method="post" action="">
输入字符(数字,字母,汉字,下划线):
    <input type="text" name="dir" value="">
    <input type="submit" value="提交">
</form>

gbk:

 代码如下 复制代码
preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str); //gb2312汉字字母数字下划线正则表达式

 

时间: 2024-07-29 16:33:40

php 正则判断中文(自动识别UTF-8 & GBK编码)的相关文章

php正则判断中文字符

php教程正则判断中文字符 $str = "中国"; echo $str; echo "<hr>"; //if   (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) {   //只能在gb2312情况下使用 if   (preg_match("/^[x7f-xff]+$/", $str)) { //兼容gb231

php正则判断中文韩文的编码的例子

中文编码 双字节字符编码范围: 1. GBK (GB2312/GB18030) \x00-\xff           →GBK双字节编码范围 \x20-\x7f         →ASCII    取出非汉字的字符 \xa1-\xff 中文 →gb2312 取出所有中文(不包括字母数字和字符) \x80-\xff 中文 →gbk 取出所有中文(不包括字母数字和字符)      2. UTF-8 (Unicode) \一-\?    →(中文) 取出所有中文 \x3130-\x318F    →

PHP 正则判断中文UTF-8或GBK的思路及具体实现_php技巧

UTF-8匹配: 在javascript中,要判断字符串是中文是很简单的.比如: 复制代码 代码如下: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); }else{ alert("该字符串不全部是中文"); } //php中,是用\x表示十六进制数据的.于是,变换成如下的代码: $str = "php编程"; if (pr

C#判断中文字符(字符串)

protected bool IsChineseLetter(string input,int index) { int code = 0; int chfrom = Convert.ToInt32("4e00", 16); //范围(0x4e00-0x9fff)转换成int(chfrom-chend) int chend = Convert.ToInt32("9fff", 16); if (input != "") { code = Char.

php用正则判断是否为中文例子

php用preg_match来匹配并判断一个字符串中是否含有中文或者都是中文的方法如下: $str = 'php学习博客'; if(preg_match('/[\x7f-\xff]/', $str)){   echo '字符串中有中文<br/>'; }else{   echo '字符串中没有中文<br/>'; } if(preg_match('/^[\x7f-\xff]+$/', $str)){   echo '字符串全是中文'; }else{   echo '字符串不全是中文';

php使用正则验证中文_php技巧

php用preg_match来匹配并判断一个字符串中是否含有中文或者都是中文的方法如下: $str = 'php学习博客'; if(preg_match('/[\x7f-\xff]/', $str)){ echo '字符串中有中文<br/>'; }else{ echo '字符串中没有中文<br/>'; } if(preg_match('/^[\x7f-\xff]+$/', $str)){ echo '字符串全是中文'; }else{ echo '字符串不全是中文'; } 以上程序的

php使用strlen()判断中文汉字字符串长度

们经常会用到了解字符串长度的时候,在PHP里,可以使用strlen()函数来实现.使用方法如下: PHP strlen() 函数定义和用法 strlen() 函数返回字符串的长度. 语法 strlen(string) 参数:string 描述:必需.规定要检查的字符串. 实例  代码如下 复制代码 <?php echo strlen("Hello world!"); ?> 输出:12 那么对于中文怎么处理 PHP自带的函数如strlen().mb_strlen()都是通过计

Java 完美判断中文字符的方法_java

Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比如:,.等等是不能识别的. 以下是比较完善的判断方法:CharUtil.java 复制代码 代码如下: import java.util.regex.Pattern; public class CharUtil {     public static void main(String[] args)

PHP中file_exists()判断中文文件名无效的解决方法_php技巧

本文实例讲述了PHP中file_exists()判断中文文件名无效的解决方法.分享给大家供大家参考.具体方法如下: php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效.本文就来解决此问题,下面我们一起来看看. 定义和用法:file_exists() 函数检查文件或目录是否存在. 如果指定的文件或目录存在则返回 true,否则返回 false. 例子1 复制代码 代码如下: <?php