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设置和去除disabled属性的5种方法总结
May 16 Javascript
js实现简单登录功能的实例代码
Nov 09 Javascript
node.js中的fs.truncateSync方法使用说明
Dec 15 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
Jul 01 Javascript
jquery判断输入密码两次是否相等
Apr 22 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
Apr 14 Javascript
Vue.js 2.x之组件的定义和注册图文详解
Jun 19 Javascript
webpack4.x打包过程详解
Jul 18 Javascript
详解处理bootstrap4不支持远程静态框问题
Jul 20 Javascript
详解vue如何使用rules对表单字段进行校验
Oct 17 Javascript
JavaScript继承与聚合实例详解
Jan 22 Javascript
用VsCode编辑TypeScript的实现方法
May 07 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 输出简单动态WAP页面
2009/06/09 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
JavaScript版代码高亮
2006/06/26 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
JS动画定时器知识总结
2018/03/23 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
Python随机数用法实例详解【基于random模块】
2017/04/18 Python
Python机器学习之决策树算法
2017/12/22 Python
Django 返回json数据的实现示例
2020/03/05 Python
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
工程开工庆典邀请函
2014/02/01 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
如何使用Python实现一个简易的ORM模型
2021/05/12 Python