方法1:把中文字替换成两个字母。然后计算长度。
方法2:直接判断中文,长度+2。
运用的方法大同小异。都是通过正则表达式,写unicode编码。
方法1中
[\u4e00-\u9fa5]:匹配中文字符
[^\x0000-\x00ff]:匹配双字节字符(包括中文字)
正则表达示 /[\u4e00-\u9fa5]/g 的 g 必须要,global,全部都要检查的意思。没有的话输出的是(2333aa哈)
方法2中的函数
扩展:
WIN加R输入cmd打开运行界面。步骤如下:1、vardate=newDate();
2、varyear=date。getFullYear();
3、//获取年份varmonth=date。getMonth()+1;
4、//获取月份,因为是从0-11所以要+1varday=date。getDate();
5、//获取天数varhour=date。getHours();
6、//获取小时varminute=date。getMinutes();
7、//获取分钟varsecond=date。getSeconds();//获取秒。
function getStrLength( Str ){return Str.replace(/[\u0391-\uFFE5]/g,"aa").length//"g" 表示全局匹配
}