js截取固定长度的中英文字符的简单实例


Posted in Javascript onNovember 22, 2013

js虽然提供了计算字符串所占字节数的函数,但是却不能正确计算汉字所占的字节数,如document.form1.username.value=“我是中国人”,document.form1.username.value.length返回的是5而不是10,于是给编程时带来一些麻烦,如限制固定长度字符的输入,截取固定长度的字符串都因为这个问题达不到预想的效果,下面是自己写的一个简单的函数,用于截取固定长度的字符串,中英文都适用.若有不妥之处还请高手指正!

//js截取字符串,中英文都能用
//如果给定的字符串大于指定长度,截取指定长度返回,否者返回源字符串。
function cutstr(str,len)
{
   var str_length = 0;
   var str_len = 0;
      str_cut = new String();
      str_len = str.length;
      for(var i = 0;i<str_len;i++)
     {
        a = str.charAt(i);
        str_length++;
        if(escape(a).length > 4)
        {
         //中文字符的长度经编码之后大于4
         str_length++;
         }
         str_cut = str_cut.concat(a);
         if(str_length>=len)
         {
         str_cut = str_cut.concat("...");
         return str_cut;
         }
    }
    //如果给定字符串小于指定长度,则返回源字符串;
    if(str_length<len){
     return  str;
    }
}
Javascript 相关文章推荐
JavaScript中的字符串操作详解
Nov 12 Javascript
JS创建类和对象的两种不同方式
Aug 08 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
Nov 15 Javascript
AngularJS使用ngMessages进行表单验证
Dec 27 Javascript
JQuery Mobile 弹出式登录框的实现方法
May 28 Javascript
微信小程序 action-sheet底部菜单详解
Oct 27 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
Dec 05 jQuery
浅谈 Webpack 如何处理图片(开发、打包、优化)
May 15 Javascript
基于vue-cli3创建libs库的实现方法
Dec 04 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
Dec 31 Javascript
vue-amap根据地址回显地图并mark的操作
Nov 03 Javascript
String.prototype实现的一些javascript函数介绍
Nov 22 #Javascript
nodeType属性返回被选节点的节点类型介绍
Nov 22 #Javascript
在Iframe中获取父窗口中表单的值(示例代码)
Nov 22 #Javascript
解析URI与URL之间的区别与联系
Nov 22 #Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
Nov 22 #Javascript
jQuery读取和设定KindEditor值的方法
Nov 22 #Javascript
实现51Map地图接口(示例代码)
Nov 22 #Javascript
You might like
用php解析html的实现代码
2011/08/08 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
PHP中文乱码解决方案
2015/03/05 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
Python实现的直接插入排序算法示例
2018/04/29 Python
查看Django和flask版本的方法
2018/05/14 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
python设置表格边框的具体方法
2020/07/17 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
经济担保书范文
2014/04/02 职场文书
初一学生期末评语
2014/04/24 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
centos7安装mysql5.7经验记录
2022/05/02 Servers