匹配UTF-8汉字的正则表达式
时间:2007-02-05 来源:rebeldom
需要做一个用户注册页面,用户名只允许中文和英文。
根据网上文章,UTF-8用3个字节表示汉字,chr(228)~chr(233),chr(128)~chr(191),chr(128)~chr(191)。
下面的POSIX正则式用来匹配汉字或者英文大小写字母。
用ereg函数测试成功。同时匹配日文汉字,但不匹配日文假名。
$pat = "^(([{$code1}-{$code2}][{$code3}-{$code4}][{$code3}-{$code4}])|[A-Za-z]){4,10}$";
想找O'reilly 的CJKV编码看看,还没找到。
根据网上文章,UTF-8用3个字节表示汉字,chr(228)~chr(233),chr(128)~chr(191),chr(128)~chr(191)。
下面的POSIX正则式用来匹配汉字或者英文大小写字母。
用ereg函数测试成功。同时匹配日文汉字,但不匹配日文假名。
$pat = "^(([{$code1}-{$code2}][{$code3}-{$code4}][{$code3}-{$code4}])|[A-Za-z]){4,10}$";
想找O'reilly 的CJKV编码看看,还没找到。
相关阅读 更多 +