JavaScript 中文字符占两个字节处理方法

来源:互联网 发布:htpp js.ynjy.cn 编辑:程序博客网 时间:2024/04/30 22:10
<script>//得到字符总数function getChars(str) {var i = 0;var c = 0.0;var unicode = 0;var len = 0;if (str == null || str == "") {return 0;}len = str.length;for (i = 0; i < len; i++) {unicode = str.charCodeAt(i);if (unicode < 127) { //判断是单字符还是双字符c += 1;} else { //chinesec += 2;}}return c;}function sb_strlen(str) {return getChars(str);}//截取字符function sb_substr(str, startp, endp) {var i = 0;c = 0;unicode = 0;rstr = '';var len = str.length;var sblen = sb_strlen(str);if (startp < 0) {startp = sblen + startp;}if (endp < 1) {endp = sblen + endp;// - ((str.charCodeAt(len-1) < 127) ? 1 : 2);}// 寻找起点for (i = 0; i < len; i++) {if (c >= startp) {break;}var unicode = str.charCodeAt(i);if (unicode < 127) {c += 1;} else {c += 2;}}// 开始取for (i = i; i < len; i++) {var unicode = str.charCodeAt(i);if (unicode < 127) {c += 1;} else {c += 2;}rstr += str.charAt(i);if (c >= endp) {break;}}return rstr;}</script>

0 0
原创粉丝点击