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 回车事件enter使用示例
Feb 18 Javascript
红米手机抢购的js代码
Mar 10 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
Mar 04 Javascript
JavaScript中的对象与JSON
Jul 03 Javascript
理解javascript定时器中的单线程
Feb 23 Javascript
JavaScript中校验银行卡号的实现代码
Dec 19 Javascript
vue单页应用中如何使用jquery的方法示例
Jul 27 jQuery
详解使用React进行组件库开发
Feb 06 Javascript
VueCli3构建TS项目的方法步骤
Nov 07 Javascript
浅谈Vuex注入Vue生命周期的过程
May 20 Javascript
Vue商品控件与购物车联动效果的实例代码
Jul 21 Javascript
js实现图片上传即时显示效果
Sep 30 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
星际争霸任务指南——人族
2020/03/04 星际争霸
php smarty模板引擎的6个小技巧
2014/04/24 PHP
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
javascript显示系统当前时间代码
2016/12/29 Javascript
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
九步学会Python装饰器
2015/05/09 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Django的models模型的具体使用
2019/07/15 Python
详解django中Template语言
2020/02/22 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
师范毕业生自荐信
2013/10/17 职场文书
工业自动化专业毕业生推荐信
2013/11/18 职场文书
优秀员工个人的自我评价
2013/11/29 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
检讨书1000字
2014/10/11 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技