(……续例17)

例18:十六进制转义字符(汉字)匹配

  1. void function reg_18()  
  2. {  
  3.     var s1 = "Mengliao Software",  
  4.         s2 = "梦辽软件 - Bosun Network Co., Ltd.",  
  5.         s3 = "一龻"//\u4e00, \u9fbb  
  6.         s4 = "﹁﹂﹃﹄"//CJK兼容字符  
  7.     var r = /[\u4e00-\u9fbb]/g;  
  8.     for (i = 1; i <= 4; i++)  
  9.     {  
  10.         t = "alert(s" + i + ".match(r));" 
  11.         eval(t);  
  12.     }  

这个例子没有什么特别,只是示例了\u符号的用法,\u符号后面跟上4位16进制数,这个16进制数正是该字符的Unicode编码(这里仅仅演示CJK统一字符)。
其中0x4e00是CJK统一汉字中最小的Unicod编码,而0x9fa5则是CJK统一汉字中最大的Unicode编码。
运行结果:s1中不包含汉字,显然无法匹配;s2中可以匹配四个汉字;而字符串对象s4中的四个汉字属于CJK兼容字符中的内容,因此同样无法匹配。

(未完待续……)