普遍使用的正则是[\u4e00-\u9fa5],但这个范围并不完整。例如: 
/[\u4e00-\u9fa5]/.test( '⻏' ) // 测试部首⻏,返回false 
 
根据Unicode 5.0版编码,要准确的判断一个中文字符要包括: 
范围            含义                范围               含义 
2E80-2EFF   CJK 部首补充    2F00-2FDF   康熙字典部首 
3000-303F   CJK 符号和标点   31C0-31EF   CJK 笔画 
3200-32FF   封闭式 CJK 文字和月份   3300-33FF   CJK 兼容 
3400-4DBF   CJK 统一表意符号扩展 A  4DC0-4DFF   易经六十四卦符号 
4E00-9FBF   CJK 统一表意符号  F900-FAFF   CJK 兼容象形文字 
FE30-FE4F   CJK 兼容形式    FF00-FFEF   全角ASCII、全角标点 
 
因此,正确的匹配中文字符正则表达式为: 
var rcjk = /[\u2E80-\u2EFF\u2F00-\u2FDF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FBF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF]+/g; 
 
如果不希望匹配标点、符号,在正则中去掉对应的范围即可: 
3000-303F   CJK 符号和标点   FF00-FFEF   全角ASCII、全角标点

或者charCodeAt()>255

原帖地址:http://my.oschina.net/u/1182602/blog/406435

中文字符匹配js正则表达式的更多相关文章

  1. SqlServer nvarchar中的中文字符匹配,更改SqlServer实例和数据库排序规则的办法

    我们都知道在SqlServer中的nvarchar类型可以完美的存储诸如中文这种unicode字符,但是我们会发现有时候查询语句去查询nvarchar列的时候查不出来. 为什么nvarchar类型有时 ...

  2. [knowledge][模式匹配] 字符匹配/模式匹配 正则表达式 自动机

    字符串 T = abcabaabcabac,字符串 P = abaa,判断P是否是T的子串,就是字符串匹配问题了,T 叫做文本(Text) ,P 叫做模式(Pattern),所以正确描述是,找出所有在 ...

  3. 常用js正则表达式大全

    常用js正则表达式大全.一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和 ...

  4. js 常用js正则表达式大全

    一.校验数字的js正则表达式   1 数字:^[0-9]*$     2 n位的数字:^d{n}$     3 至少n位的数字:^d{n,}$     4 m-n位的数字:^d{m,n}$     5 ...

  5. day21-Python运维开发基础(单个字符匹配 / 多字符匹配)

    1. 正则表达式(单个字符匹配) # ### 正则表达式 => 单个字符匹配 import re """ lst = re.findall(正则表达式,字符串) & ...

  6. js正则表达式验证、匹配数字、匹配字符串、匹配中文、匹配任意字符备忘录

    本文转自:91博客 :原文地址:http://www.9191boke.com/235792704.html 正则表达式或“regex”用于匹配字符串的各个部分,下面是我创建正则表达式的备忘录.包括一 ...

  7. JS正则表达式的创建、匹配字符串、转义、字符类、重复以及常用字符

    正则表达式都是操作字符串的 作用:对数据进行查找.替换.有效性验证 创建正则表达式的两种方式: // 字面量方式 /js/ // 构造函数方式 regular expression new RegEx ...

  8. 匹配中文字符的正则表达式: [/u4e00-/u9fa5]

    原文:匹配中文字符的正则表达式: [/u4e00-/u9fa5] 这里是几个主要非英文语系字符范围(google上找到的): 2E80-33FFh:中日韩符号区.收容康熙字典部首.中日韩辅助部首.注音 ...

  9. Python从文件中读取字符串,用正则表达式匹配中文字符的问题

    2013-07-27 21:01:37|           在Windows下,用Python从.txt文件中读取字符串,并用正则表达式匹配中文,在网上看了方法,用的时候发现中文没有被匹配.     ...

随机推荐

  1. 通过style控制圆形imageView显示

    1. 2.drawable--style <?xml version="1.0" encoding="utf-8"?> <layer-list ...

  2. Java基础高级一(正则表达式)

    1.正则语法:元字符,量词,范围,组,属性 2.String类常用正则方法split,indexOf,replaceAll 3.Java正则类Pattern,Match而的使用 1.String常用方 ...

  3. socket泄露的问题

    在增加keepalive和libevent 超时后,仍然会几个月后出现lsof统计句柄过多的问题,如下图,红线圈定的是不定期出现的错误关闭流,时间点和server端日志(只看到accpet fd,没有 ...

  4. WinForm跨窗体传值

    1.另一窗体建公共变量listdataRow public List<DataGridViewRow> listdataRow = new List<DataGridViewRow& ...

  5. url带#号,微信授权,微信分享那些坑

    微信授权的方法是,在项目里面配置拦截器(此处可以参考各个框架的拦截器)没有拦截器也可以,反正意思就是跳转到项目里的时候判断微信环境 如果是微信环境, 判断微信环境的方法是 var ua = windo ...

  6. cookie的存储和获取

    在做用户登录时经常会用到cookie,如何将用户名和密码保存至cookie中呢?如何获取cookie中的数据呢? 一.用jquery.cookie.js保存数据 在页面内引入jQuery.cookie ...

  7. php 导出excle的.csv格式的数据时乱码问题

    1.header('Content-Encoding: XXXX'); 有可能是编码问题:可以尝试UTF-8,GBK,GB2312,等编码格式 2.有可能是文件编码问题,虽然UTF-8不建议带BOM, ...

  8. php7 安装redis扩展

    从pecl下载的phpredis扩展在make时报错,google了一下,解决办法,因为phpredis 有专门为php7的分支,所以先git clone phpredis下来 git clone h ...

  9. ***IT程序员自我修养和情商提升文章

    低情商的13个表现 --------------------------------------------------------------------- — THE END —

  10. Win10 UI入门RelativePanel(2)

    自适应 1) Gif: 添加动画 2)