我爱模板网在使用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; }
更多参考: