用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - javascript代码库

常用的中文字符匹配js正则表达式

2014-02-03 作者: 小蜜锋举报

[javascript]代码库

普遍使用的正则是[\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、全角标点 


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...