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 相关文章推荐
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
Mar 16 Javascript
ajax异步刷新实现更新数据库
Dec 03 Javascript
jquery mobile事件多次绑定示例代码
Sep 13 Javascript
js和php如何获取当前url的内容
Sep 22 Javascript
IE、FF浏览器下修改标签透明度
Jan 28 Javascript
Javascript this 关键字 详解
Oct 22 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
Angular.Js中ng-include指令的使用与实现
May 07 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
May 07 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
Apr 14 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
Nov 09 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 文件上传类代码
2011/08/06 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
python实现K最近邻算法
2018/01/29 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
python操作excel让工作自动化
2019/08/09 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
python 模拟登陆github的示例
2020/12/04 Python
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
节电标语大全
2014/06/23 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
保险内勤岗位职责
2015/04/13 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
2016年寒假家长评语
2015/10/10 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书