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 HotKeys轻松搞定键盘事件代码
Aug 30 Javascript
JQuery读取XML文件数据并显示的实现代码
Dec 16 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
Sep 10 Javascript
jquery获得option的值和对option进行操作
Dec 13 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
javascript中去除数组重复元素的实现方法【实例】
Apr 12 Javascript
使用Curl命令查看请求响应时间方法
Nov 04 Javascript
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
在 Angular中 使用 Lodash 的方法
Feb 11 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
Apr 25 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
使用php实现截取指定长度
2013/08/06 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
nuxt+axios实现打包后动态修改请求地址的方法
2020/04/22 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
简单谈谈python中的Queue与多进程
2016/08/25 Python
总结python中pass的作用
2019/02/27 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
行政管理专业推荐信
2013/11/02 职场文书
工地安全检查制度
2014/02/04 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
工程项目合作意向书
2015/05/08 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript