本文共 2215 字,大约阅读时间需要 7 分钟。
转自:http://bbs.chinaunix.net/viewthread.php?tid=907172 最近项目中用到了对文字、标点以及特殊字符的判断。 网上关于GBK、GB2312和BIG5编码范围的资料比较多,但是日文的资料比较少,我总结了一下,希望能对大家在正则中判断 这些字符集尤其是日文字符集的各种字、标点以及特殊符号的时候有所帮助。记不住,转了,碰到时候需要正在判断时使用吧
如处理emoji表情符号
插入数据时,将数据编码
preg_replace_callback('/[\xf0-\xf7].{3}/', function($r) { return '@E' . base64_encode($r[0]);}, $msg);
获取数据时,将数据解码
preg_replace_callback('/@E(.{6}==)/', function($r) {return base64_decode($r[1]);}, $msg);
UTF8 CODE: [/x01-/x7f]|[/xc0-/xdf][/x80-/xbf]|[/xe0-/xef][/x80-/xbf]{2}|[/xf0-/xff][/x80-/xbf]{3} UTF16 CODE: [/x00-/xd7][/xe0-/xff]|[/xd8-/xdf][/x00-/xff]{2} JIS CODE: [/x20-/x7e]|[/x21-/x5f]|[/x21-/x7e]{2} SJIS CODE: [/x20-/x7e]|[/xa1-/xdf]|([/x81-/x9f]|[/xe0-/xef])([/x40-/x7e]|[/x80-/xfc]) EUC_JP CODE: [/x20-/x7e]|/x81[/xa1-/xdf]|[/xa1-/xfe][/xa1-/xfe]|/x8f[/xa1-/xfe]{2} EUC_JP标点符号及特殊字符 CODE: [/xa1-/xa2][/xa0-/xfe] EUC_JP全角数字 CODE: /xa3[/xb0-/xb9] EUC_JP全角大写英文 CODE: /xa3[/xc1-/xda] EUC_JP全角小写英文 CODE: /xa3[/xe1-/xfa] EUC_JP全角平假名 CODE: /xa4[/xa1-/xf3] EUC_JP全角片假名 2007-03-12 15:00更新 CODE: /xa3[/xb0-/xb9]|/xa3[/xc1-/xda]|/xa5[/xa1-/xf6][/xa3][/xb0-/xfa]|[/xa1][/xbc-/xbe]|[/xa1][/xdd] EUC_JP全角汉字 2007-03-12 15:06更新 CODE: [/xb0-/xcf][/xa0-/xd3]|[/xd0-/xf4][/xa0-/xfe]|[/xB0-/xF3][/xA1-/xFE]|[/xF4][/xA1-/xA6]|[/xA4][/xA1-/xF3]|[/xA5][/xA1-/xF6]|[/xA1][/xBC-/xBE] Big5 CODE: [/x01-/x7f]|[/x81-/xfe]([/x40-/x7e]|[/xa1-/xfe]) GBK CODE: [/x01-/x7f]|[/x81-/xfe][/x40-/xfe] GB2312汉字 CODE: [/xb0-/xf7][/xa0-/xfe] GB2312半角标点符号及特殊符号 CODE: /xa1[/xa2-/xfe] GB2312罗马数组及项目序号 CODE: /xa2([/xa1-/xaa]|[/xb1-/xbf]|[/xc0-/xdf]|[/xe0-/xe2]|[/xe5-/xee]|[/xf1-/xfc]) GB2312全角标点及全角字母 CODE: /xa3[/xa1-/xfe] GB2312日文平假名 CODE: /xa4[/xa1-/xf3] GB2312日文片假名 CODE: /xa5[/xa1-/xf6] 補充: GB18030 CODE: [/x00-/x7f]|[/x81-/xfe][/x40-/xfe]|[/x81-/xfe][/x30-/x39][/x81-/xfe][/x30-/x39] 2007-03-12 21:35 补充 日文半角空格 CODE: /x20 SJIS全角空格 CODE: (?:/x81/x81) SJIS全角数字 CODE: (?:/x82[/x4f-/x58]) SJIS全角大写英文 CODE: (?:/x82[/x60-/x79]) SJIS全角小写英文 CODE: (?:/x82[/x81-/x9a]) SJIS全角平假名 CODE: (?:/x82[/x9f-/xf1]) SJIS全角平假名扩展 CODE: (?:/x82[/x9f-/xf1]|/x81[/x4a/x4b/x54/x55]) SJIS全角片假名 CODE: (?:/x83[/x40-/x96]) SJIS全角片假名扩展 CODE: (?:/x83[/x40-/x96]|/x81[/x45/x5b/x52/x53]) EUC_JP全角空格 CODE: (?:/xa1/xa1) EUC半角片假名 CODE: (?:/x8e[/xa6-/xdf]) 转载地址:http://pzhdi.baihongyu.com/