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 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
JavaScript的public、private和privileged模式
Dec 28 Javascript
禁用Enter键表单自动提交实现代码
May 22 Javascript
jQuery源码解读之hasClass()方法分析
Feb 20 Javascript
AngularJS+Node.js实现在线聊天室
Aug 28 Javascript
总结Node.js中的一些错误类型
Aug 15 Javascript
jQuery正则验证注册页面经典实例
Jun 10 jQuery
基于javascript中的typeof和类型判断(详解)
Oct 27 Javascript
详解JavaScript的变量
Apr 04 Javascript
json 带斜杠时如何解析的实现
Aug 12 Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 29 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
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的简单采集数据入库程序
2014/07/30 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
2019/04/09 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
浅析Git版本控制器使用
2017/12/10 Python
Django如何实现上传图片功能
2019/08/16 Python
Python如何将模块打包并发布
2020/08/30 Python
提高python代码运行效率的一些建议
2020/09/29 Python
html5 canvas-2.用canvas制作一个猜字母的小游戏
2013/01/07 HTML / CSS
北承题目(C++)
2012/05/16 面试题
一道输出判断型Java面试题
2014/10/01 面试题
个人委托书范文
2015/01/28 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
实习单位鉴定意见
2015/06/04 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏