您的位置:首页 > 其它

文本框的值是否为中文字符

2015-08-18 11:18 260 查看
使用js正则表达式匹配中文,需要了解中文字符在unicode编码中所处的区间。这样才能够了解表达式的匹配原理。

首先在正则表达式中使用 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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: