PHP正則判斷輸入爲中文

應用場景:判斷輸入姓名爲中文

百度正則後報錯 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";
}
?>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章