正则表达式验证中文

在实际开发过程中,我们可能经常会遇到需要判断一个字符是否是汉字的情况.在Unicode世界里,汉字的编码在u4e00-u9fa5之间,于是我们可以根据这一范围来确定当前字符是否是汉字了.

string parm=@"[/u4e00-/u9fa5]"; 
Regex rg=new Regex(parm); 
Match mh=rg.Match(myChar);//myChar是要比较的字符 
if(mh.Success) 
{ 
        //是汉字 
}

JavaScript经常会验证中文,这里提供两个例子:

/** 
 *A simple example 
 */  
function ischinese(temp){  
  var re = /[^u4e00-u9fa5]/;  
  if(re.test(temp)) return false;  
  return true;  
}   
  
/**   
 *校验字符串是否为中文   
 *返回值:   
 *如果为空,定义校验通过,   返回true   
 *如果字串为中文,校验通过,   返回true   
 *如果字串为非中文,   返回false   参考提示信息:必须为中文!   
 */  
function   ischinese2(str){    
  //如果值为空,通过校验    
  if   (str   ==   "")  return   true;    
  var   pattern   =   /^([u4e00-u9fa5]|[ufe30-uffa0])*$/gi;    
  if   (pattern.test(str))  return   true;  
  return   false;    
}
var str="中国";
   var reg=/^[\u4e00-\u9fa5]{0,}$/; //检验整个字符串中是否都是汉字
  if(reg.test(str))
    alert('有中文');
  else
    alert('没有中文');

相关推荐