正则表达式对中文的判断

作者 happyWang 日期 2013-03-17 浏览量
正则表达式对中文的判断

今天工作上面需要对一个表单进行验证,需要判断中文。在网上看到了很多的方式

  1. GBK (GB2312/GB18030) x00-xff GBK双字节编码范围 x20-x7f ASCII xa1-xff 中文 x80-xff 中文
  2. UTF-8 (Unicode) u4e00-u9fa5 (中文) x3130-x318F (韩文 xAC00-xD7A3 (韩文) u0800-u4e00 (日文)

ps: 韩文是大于[u9fa5]的字符

x是十六进制,u是Unicode编码,这种理解对吗

两者之间有什么区别和联系呢

2012年8月15日补充

JavaScript的字符串是使用Unicode编码的,每个字符占用两个字节。编码的方式是Unicode 16,具体是Little-Endian还是Big-Endian则要看操作系统了。所以在针对JavaScript的字符串使用正则时,针对中文使用u4e00-u9fa5

参考文章:

http://demon.tw/programming/javascript-unicode-utf-8.html

关于Unicode 16的Little-Endian和Big-Endian,可以参看维基百科:https://zh.wikipedia.org/wiki/%E5%AD%97%E8%8A%82%E5%BA%8F