Heim >php教程 >PHP源码 >中文汉字正则表达式javascript/php

中文汉字正则表达式javascript/php

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-08 17:24:501136Durchsuche

汉字正则表达式是大家开发中会碰到的常用见主要是利用\\u4e00-\\u9fa5和来实现正则获取中文汉字了,有需要的同学可以参考一下。

<script>ec(2);</script>

本文章来详细的分析一下关于

 代码如下 复制代码

var reg = /^[u4e00-u9fa5]+$/;

if(reg.test(str))
{
   alert('汉字的干活');
}

$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 "您输入的[".$str."]含有违法字符"; 
    }
    else
    {
        echo "您输入的[".$str."]完全合法,通过!"; 
    }
}


当然如果要想字符串全是汉字的GBK2312编码匹配为:

 代码如下 复制代码

$str = "小小子";
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str)){
print($str."确实全是汉字");
} else {
print($str."这个真TMD不全是汉字");
}

其实只要了解了各个编码的高位与低位的开始与结束,那么自然就可以写出正则,而且直接是十六位的,有啥困难?呵呵。不过要注意,在php里面,表示十六位是用的x。
所以如上,我们还可以用该正则表达式来判断是否是GB2312的汉字

 代码如下 复制代码

$str = "小小子";
if(preg_match("/^[xb0-xf7][xa0-xfe]+$/",$str)){
print($str."确实全是汉字");
} else {
print($str."这个真TMD不全是汉字");
}

?>

在php结合了preg_match("/^[xb0-xf7][xa0-xfe]+$/",$str) 就可以快速的实现了做法,有需要的同学可以参考一下。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn