(转)js正则表达式之中文验证

来源:互联网 发布:广州young网络客户端 编辑:程序博客网 时间:2024/06/03 19:16
http://houfeng0923.iteye.com/blog/1035321
首先在正则表达式中使用 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.nengcha.com/code/unicode/class/

Js代码 
//是否含有中文(也包含日文和韩文) 
function isChineseChar(str){    
   var reg = /[\u4E00-\u9FA5\uF900-\uFA2D]/; 
   return reg.test(str); 

//同理,是否含有全角符号的函数 
function isFullwidthChar(str){ 
   var reg = /[\uFF00-\uFFEF]/; 
   return reg.test(str); 
原创粉丝点击