php匹配中文最准确的正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
\u4e00要写成\x{4e00} \u9fa5 写成 \x{9fa5}
在这里做了一下记录。以备后用。
01 |
<?php |
02 |
03 |
if (preg_match( '/^[\x{4e00}-\x{9fa5}]+$/u' , '国' )){ |
04 |
05 |
echo '全是汉字' ; |
06 |
07 |
} else { |
08 |
09 |
echo '不全是汉字' ; |
10 |
} |
11 |
12 |
echo "<br />" ; |
13 |
14 |
if (preg_match( '/^[\x{4e00}-\x{9fa5}]+$/u' , 'nginx奥运' )){ |
15 |
16 |
echo '全是汉字' ; |
17 |
18 |
} else { |
19 |
20 |
echo '不全是汉字' ; |
21 |
} |
22 |
23 |
echo "<br />" ; |
24 |
25 |
if (preg_match( '/^[\x{4e00}-\x{9fa5}]{2,}$/u' , '奥运' )){ |
26 |
27 |
echo '全是汉字且>=2个汉字' ; |
28 |
29 |
} else { |
30 |
echo '不全是汉字' ; |
31 |
32 |
} |
33 |
?> |