在js中直接使用字符串的length属性,返回string中的中文是1,这在有些情况下不是我们想要的,下面提供一个方法,判断出中文,然后返回长度。
var getByteLen = function (str) {
var len = 0;
for (var i = 0; i < str.length; i++) {
if (str[i].match(/[^x00-xff]/ig) != null){ //判断全角
//if (str[i].match(/[u4E00-u9FA5]/g) != null) //判断是否为中文
len += 2;
}else{
len += 1;
};
}
return len;
}
var str = '2ga哈哈245滴很3地h';
getByteLen(str); //18
代码中的两种判断方式都行, 其中 [^x00-xff] 表示ASCII 编码不在0-255的其他字符汉字或者全角字符之类的。
另外,判断是否中文的方法还有很多,大家可以自行搜索一下。
例1,判断输入是否为中文的函数
function ischinese(s){
var ret=true;
for(var i=0;i
return ret;
}
例2,中文判断函数,允许生僻字用英文“*”代替。返回true表示是符合条件,返回false表示不符合。
function isChinese(str){
var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
badChar += "abcdefghijklmnopqrstuvwxyz";
badChar += "0123456789";
badChar += " "+" ";//半角与全角空格
badChar += "不包含*或.的英文符号
if(""==str){
return false;
} // www.111com.net
for(var i=0;i var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1){
return false;
}
}
return true;
}
例3,数字判断函数,返回true表示是全部数字,返回false表示不全部是数字
function isNumber(str){
if(""==str){
return false;
}
var reg = /D/;
return str.match(reg)==null;
}
荒野乱斗国际版 (BrawlStars)最新版本v56.274
下载一波超人内置修改器菜单版 安卓版v1.0.2
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载继承了一座戏园子无限声望铜钱版 内置菜单最新版v1.7
继承了一座戏园子折相思版是游戏的破解版本,在该版本中为玩家提
山河半世橙光清软金手指版 无限鲜花v3.24
山河半世是一款超级好玩的橙光恋爱游戏,在游戏中玩家们需要扮演
蓬莱手游折相思版 安卓版v1.0.0
蓬莱免广告版是游戏的修改版本,在该版本中为玩家去除了广告,玩
当红影后橙光游戏破解版2025 最新版v1.0
当红影后橙光破解版是一款超级好玩的娱乐圈题材的橙光游戏,在这
忽然成了万人迷清软完结版 无限鲜花版v12.15
忽然成了万人迷破解版是一款非常好玩的男性向橙光游戏,在有一天