应用场景:判断输入姓名为中文

百度正则后报错 Warning: preg_match(): Compilation failed: PCRE does not support

原来,PHP正则表达式中不支持下列 Perl 转义序列:\L, \l, \N, \P, \p, \U, \u, or \X
在 UTF-8 模式下,允许用“\x{…}”,花括号中的内容是表示十六进制数字的字符串。
原来的十六进制转义序列 \xhh 如果其值大于 127 的话则匹配了一个双字节 UTF-8 字符。
所以,可以这样来解决
 

<?
$str = '张三';
//echo preg_match('/^[\u4e00-\u9fa5]{2,12}$/', $real_name);

复制代码 代码如下:
<?php
$shouji ="李四";
if (!preg_match("/^[\x80-\xff]{6,30}$/",$shouji)){
echo "no";
}
else {
echo "yes";
}
?>