我爱模板网在使用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("5.jimth.com我爱模板网"));
方法三:
var str = '5.jimth.com我爱模板网';
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;
}更多参考:
