PHP规范化汉字匹配方法简介
/ ^ { x { 4e00 } - x { 9fa5 } } + $ / U
这个正则表达式是一个正则表达式,它困扰着许多PHP程序员来匹配汉字。
你可能觉得它很简单,其实不同的编码,不同的编程语言,有些细微的差别,稍有注意就得不到正确的结果。
以下是UTF-8编码的例子:
$ 汉字;
如果(preg_match( / ^ { x { 4e00 } - x { 9fa5 } } + $ / U
打印(所有的字符串都是中文);
{人}
打印(这个字符串不全是中文);
}
下面的例子包括GB2312 GBK例:
< PHP
美元($ _get行动=装饰整套{ });
如果($ = 子)
{
$str = $ _post { 'dir};
(如果)!preg_match( / ^ {。Chr(0xA1)- CHR(0xff)。a-za-z0-9_ } + $ / / ,$str)GB2312汉字字母数字下划线)和正则表达式
如果(!preg_match( / ^ { x { 4e00 } - x { 9fa5 } a-za-z0-9_ } + $ / U
{
回声你输入{ ,} $结构包含非法字符;
}
其他的
{
回声你输入{ ,} $结构是完全合法的,通过!;
}
}
>
输入字符(数字,字母,汉字,下划线):