欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP 正則表達(dá)式驗(yàn)證中文的問(wèn)題

 更新時(shí)間:2009年08月27日 12:20:24   作者:  
PHP 正則表達(dá)式驗(yàn)證中文的問(wèn)題,感覺(jué)php不支持perl轉(zhuǎn)義挺討厭的。
$str = '中華人民共和國(guó)123456789abcdefg';
echo preg_match("/^[\u4e00-\u9fa5_a-zA-Z0-9]{3,15}$",$strName);

運(yùn)行一下上面這段代碼,看會(huì)有什么提示信息?
Warning: preg_match(): Compilation failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 3 in F:\wwwroot\php\test.php on line 2

原來(lái),PHP正則表達(dá)式中不支持下列 Perl 轉(zhuǎn)義序列:\L, \l, \N, \P, \p, \U, \u, or \X

在 UTF-8 模式下,允許用“\x{...}”,花括號(hào)中的內(nèi)容是表示十六進(jìn)制數(shù)字的字符串。原來(lái)的十六進(jìn)制轉(zhuǎn)義序列 \xhh 如果其值大于 127 的話則匹配了一個(gè)雙字節(jié) UTF-8 字符。
所以,可以這樣來(lái)解決preg_match("/^[\x80-\xff_a-zA-Z0-9]{3,15}$",$strName);
復(fù)制代碼 代碼如下:

<?php
$shouji ="哈哈哈哈";
if (!preg_match("/^[\x80-\xff]{6,30}$/",$shouji)){
    echo "nonono";    
}
else {
    echo "yesyesyes";
}
?>

相關(guān)文章

最新評(píng)論