(……续例17)ide
例18:十六进制转义字符(汉字)匹配
编码
- void function reg_18()
- {
- var s1 = "Mengliao Software",
- s2 = "梦辽软件 - Bosun Network Co., Ltd.",
- s3 = "一龻", //\u4e00, \u9fbb
- s4 = "﹁﹂﹃﹄"; //CJK兼容字符
- var r = /[\u4e00-\u9fbb]/g;
- for (i = 1; i <= 4; i++)
- {
- t = "alert(s" + i + ".match(r));"
- eval(t);
- }
- }
这个例子没有什么特别,只是示例了\u符号的用法,\u符号后面跟上4位16进制数,这个16进制数正是该字符的Unicode编码(这里仅仅演示CJK统一字符)。
其中0x4e00是CJK统一汉字中最小的Unicod编码,而0x9fa5则是CJK统一汉字中最大的Unicode编码。
运行结果:s1中不包含汉字,显然没法匹配;s2中能够匹配四个汉字;而字符串对象s4中的四个汉字属于CJK兼容字符中的内容,所以一样没法匹配。spa
(未完待续……)code