JavaScript正则表达式19例(18)

(……续例17)ide

例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兼容字符中的内容,所以一样没法匹配。spa

(未完待续……)code

相关文章
相关标签/搜索