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中的一些注意事项 更新中
Dec 06 Javascript
javascript与有限状态机详解
May 08 Javascript
js改变Iframe中Src的方法
May 05 Javascript
javascript中clipboardData对象用法详解
May 13 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
Oct 09 Javascript
浅析JavaScript作用域链、执行上下文与闭包
Feb 01 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 Javascript
jquery插件autocomplete用法示例
Jul 01 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
Dec 02 Javascript
React Native 集成jpush-react-native的示例代码
Aug 16 Javascript
vue 之 css module的使用方法
Dec 04 Javascript
JavaScript的变量声明与声明提前用法实例分析
Nov 26 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 选项及相关信息函数库
2006/12/04 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
js实现登录验证码
2016/12/22 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
Python实现远程调用MetaSploit的方法
2014/08/22 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
python绘制趋势图的示例
2020/09/17 Python
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
安全资金保障制度
2014/01/23 职场文书
销售冠军获奖感言
2014/02/03 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
给客户的感谢信
2015/01/21 职场文书
歌剧魅影观后感
2015/06/05 职场文书
安全生产培训心得体会
2016/01/18 职场文书
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python