| 普遍使用的正則是[\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