文本框的值是否为中文字符
2015-08-18 11:18
260 查看
使用js正则表达式匹配中文,需要了解中文字符在unicode编码中所处的区间。这样才能够了解表达式的匹配原理。
首先在正则表达式中使用 Unicode,必须使用\u开头,接着是字符编码的四位16进制表现形式。
简单匹配中文方法: /[^\u0000-\u00FF]/ (匹配非单字节字符 )
另错误方法:/[^\u00-\uFF]/ (匹配 非单字节字符、还包括一些全半角符号如,.(){}’”!等、还有vwxyz字符)
说明://u0000-u00ff包含unicode单字节编码( 0-255编码)包含基本控制字符和拉丁文字母。 采用该否定表达式,粗略判断是否含有中文。
具体的匹配中文及字符方法:
说明: u4e00-u9fbf : unicode CJK(中日韩)统一表意字符。u9fa5后至u9fbf为空
uF900-uFAFF : 为unicode CJK 兼容象形文字 。uFA2D后至uFAFF为空
具体可参考unicode编码表:http://www.unicode.org/standard/standard.html
首先在正则表达式中使用 Unicode,必须使用\u开头,接着是字符编码的四位16进制表现形式。
简单匹配中文方法: /[^\u0000-\u00FF]/ (匹配非单字节字符 )
另错误方法:/[^\u00-\uFF]/ (匹配 非单字节字符、还包括一些全半角符号如,.(){}’”!等、还有vwxyz字符)
说明://u0000-u00ff包含unicode单字节编码( 0-255编码)包含基本控制字符和拉丁文字母。 采用该否定表达式,粗略判断是否含有中文。
具体的匹配中文及字符方法:
/[\u4E00-\u9FA5\uF900-\uFA2D]/
说明: u4e00-u9fbf : unicode CJK(中日韩)统一表意字符。u9fa5后至u9fbf为空
uF900-uFAFF : 为unicode CJK 兼容象形文字 。uFA2D后至uFAFF为空
具体可参考unicode编码表:http://www.unicode.org/standard/standard.html
//是否含有中文(也包含日文和韩文) function isChineseChar(str){ var reg = /[\u4E00-\u9FA5\uF900-\uFA2D]/; return reg.test(str); } //同理,是否含有全角符号的函数 function isFullwidthChar(str){ var reg = /[\uFF00-\uFFEF]/; return reg.test(str); }
相关文章推荐
- SELinux 简介
- 调用文档在线编辑插件(ckeditor)
- IOS开发之简单计算器
- nginx upstream作为变量
- 幂不等式
- sass基础教程
- 广告窗口不随鼠标滚动变化
- Ten Years of Pedestrian Detection, What Have We Learned?
- java:类和继承
- redis 配置文件示例中文解释
- Hadoop实战之MapRduce如何在Job中全局共享数据
- 二部图
- C语言转义字符和格式控制符参考
- 某一天,忽然发现自己坚持不下去了。(无关计算机,只是一些自己的困惑和感想)
- MyStrcpy
- 创建一个Spring的HelloWorld程序
- Mac电脑显示详细路径
- MySQL数据的主从复制、半同步复制和主主复制详解
- java系统学习(二) --------java程序设计中的流程控制
- drbd脑裂解决办法