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 相关文章推荐
动态刷新 dorado树的js代码
Jun 12 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
Dec 26 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
Jul 08 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
vue-router 权限控制的示例代码
Sep 21 Javascript
p5.js入门教程之键盘交互
Mar 19 Javascript
JS删除String里某个字符的方法
Jan 06 Javascript
微信小程序 行的删除和增加操作实现详解
Sep 29 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
Oct 16 Javascript
JavaScript中的相等操作符使用详解
Dec 21 Javascript
JS+canvas五子棋人机对战实现步骤详解
Jun 04 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 fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
小程序实现密码输入框
2020/11/16 Javascript
Python中类型关系和继承关系实例详解
2015/05/25 Python
Django中对数据查询结果进行排序的方法
2015/07/17 Python
Python实现的计数排序算法示例
2017/11/29 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
Python3中exp()函数用法分析
2019/02/19 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
学python爬虫能做什么
2020/07/29 Python
英国行业制服供应商:Alexandra
2019/09/14 全球购物
2014新年元旦活动策划方案
2014/02/18 职场文书
歌唱比赛主持词
2014/03/18 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
python使用shell脚本创建kafka连接器
2022/04/29 Python
关于Redis的主从复制及哨兵问题
2022/06/16 Redis
JS高级程序设计之class继承重点详解
2022/07/07 Javascript