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 相关文章推荐
prototype.js的Ajax对象
Sep 23 Javascript
ExtJS 下拉多选框lovcombo
May 19 Javascript
JS在textarea光标处插入文本的小例子
Mar 22 Javascript
JavaScript自执行闭包的小例子
Jun 29 Javascript
js实现幻灯片播放图片示例代码
Nov 07 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
Apr 18 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
Jul 18 Javascript
JavaScript判断用户名和密码不能为空的实现代码
May 16 Javascript
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
vue awesome swiper异步加载数据出现的bug问题
Jul 03 Javascript
深入剖析JavaScript instanceof 运算符
Jun 14 Javascript
微信小程序实现轮播图指示器
Jun 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中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
探讨php define()函数及defined()函数使用详解
2013/06/09 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
Smarty变量用法详解
2016/05/11 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
jquery ajax 简单范例(界面+后台)
2013/11/19 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
Python变量和字符串详解
2017/04/29 Python
关于Django外键赋值问题详解
2017/08/13 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
学生感冒英文请假条
2014/02/04 职场文书
大学学习计划书范文
2014/05/02 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
法律讲堂观后感
2015/06/11 职场文书
使用python创建股票的时间序列可视化分析
2022/03/03 Python
js前端图片加载异常兜底方案
2022/06/21 Javascript