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获取地址栏参数插件(模仿C#)
Oct 26 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
May 23 Javascript
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
Jun 14 Javascript
JavaScript的Module模式编程深入分析
Aug 13 Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 Javascript
原生js实现类似弹窗抖动效果
Apr 02 Javascript
概述jQuery中的ajax方法
Dec 16 Javascript
Easyui在treegrid添加控件的实现方法
Jun 23 Javascript
jQuery plugin animsition使用小结
Sep 14 jQuery
Node Puppeteer图像识别实现百度指数爬虫的示例
Feb 22 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
Sep 23 Javascript
JavaScript手写数组的常用函数总结
Nov 22 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 文件上传模型,支持多文件上传
2009/08/13 PHP
php编写一个简单的路由类
2011/04/13 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
Laravel下生成验证码的类
2017/11/15 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
jquery键盘事件介绍
2011/01/31 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
儿童python练习实例
2018/05/27 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
实例介绍Python中整型
2019/02/11 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
应届毕业生求职信范文
2013/12/18 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
大型会议接待方案
2014/03/01 职场文书
培训班开班主持词
2015/07/02 职场文书
培训感想范文
2015/08/07 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js