首页 > 建站教程 > JS、jQ、TS >  js判断字符串中是否含有汉字的几种方法正文

js判断字符串中是否含有汉字的几种方法

我爱模板网在使用uni-app开发app时,遇到一个需求:用户提交的数据中不能包含中文,只能是数字、字符串、符号等,下面的方法非常好的解决了这个问题:


方法一:

function funcChina() {
  var obj = document.form1.txtName.value;
  if(/.*[\u4e00-\u9fa5]+.*$/.test(obj)) {
    alert("不能含有汉字!");
    return false;
  }
  return true;
}

 

方法二:

function isChina(s) {
  var patrn = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;
  if(!patrn.exec(s)) {
    return false;
  } else {
    return true;
  }
}
alert(isChina("www.5imoban.net我爱模板网"));

 

方法三:

var str = 'www.5imoban.net我爱模板网';
if(escape(str).indexOf("%u") < 0) {
  alert("没有包含中文");
} else {
  alert("包含中文");
}

 

方法四:

function CheckIsChinese(obj,val){    
  var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
  if(reg.test(val)){
    alert("包含汉字!");
  }   
}

 

方法五、用 Unicode 字符范围判断

function chkstrlen(str){
  var strlen = 0;
  for(var i = 0;i < str.length; i++){
    // 如果是汉字,则字符串长度加2
    if(str.charCodeAt(i) > 255)
      strlen += 2;
    else
      strlen++;
  }
  return strlen;
}


更多参考:

  不让input输入中文的两种方法

  js计算字符串长度,中文2个长度,英文算1个