欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

正则表达式验证中文

程序员文章站 2022-06-03 23:13:05
...
在实际开发过程中,我们可能经常会遇到需要判断一个字符是否是汉字的情况.在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('没有中文');