(……续例17)
例18:十六进制转义字符(汉字)匹配
- void function reg_18()
- {
-
var s1 = "Mengliao Software",
-
s2 = "梦辽软件 - Bosun Network Co., Ltd.",
-
s3 = "一龻",
-
s4 = "﹁﹂﹃﹄";
-
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兼容字符中的内容,因此同样无法匹配。
(未完待续……)
本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/470165,如需转载请自行联系原作者