JS字符串长度判断,超出进行自动截取的实例(支持中文)


Posted in Javascript onMarch 06, 2017

今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了,

下面是JS代码:

<html>
<script src="http://3water.com/script/jquery.js" type="text/javascript"></script>

<body>
  <input type="text" name="username" />
</body>
<script type="text/ecmascript">

  
  var GetLength = function (str) {
    ///<summary>获得字符串实际长度,中文2,英文1</summary>
    ///<param name="str">要获得长度的字符串</param>
    var realLength = 0, len = str.length, charCode = -1;
    for (var i = 0; i < len; i++) {
      charCode = str.charCodeAt(i);
      if (charCode >= 0 && charCode <= 128) realLength += 1;
      else realLength += 2;
    }
    return realLength;
  };

  //js截取字符串,中英文都能用 
  //如果给定的字符串大于指定长度,截取指定长度返回,否者返回源字符串。 
  //字符串,长度 

  /** 
   * js截取字符串,中英文都能用 
   * @param str:需要截取的字符串 
   * @param len: 需要截取的长度 
   */
  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;
    }
  }$(function () { 
   $("input[name=username]").bind('keyup', function () {
   if (GetLength($(this).val()) > 10) { 
    $(this).val(cutstr($(this).val(), 10)); 
    return; 
   } 
 }); 
}); 
</script> 
</html>

效果如图:

JS字符串长度判断,超出进行自动截取的实例(支持中文)

以上这篇JS字符串长度判断,超出进行自动截取的实例(支持中文)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
云网广告中的代码,提示出错,大家找找
Nov 21 Javascript
比较详细的关于javascript中void(0)的具体含义解释
Aug 02 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
Jan 04 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
Oct 11 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 Javascript
关于cookie的初识和运用(js和jq)
Apr 07 Javascript
手机软键盘弹出时影响布局的解决方法
Dec 15 Javascript
js 发布订阅模式的实例讲解
Sep 10 Javascript
JS实现压缩上传图片base64长度功能
Dec 03 Javascript
jquery实现进度条状态展示
Mar 26 jQuery
Bootstrap导航简单实现代码
Mar 06 #Javascript
Bootstrap栅格系统简单实现代码
Mar 06 #Javascript
javascript DOM的详解及实例代码
Mar 06 #Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 #Javascript
EasyUI为Numberbox添加blur事件的方法
Mar 05 #Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
Mar 05 #Javascript
js获取元素下的第一级子元素的方法(推荐)
Mar 05 #Javascript
You might like
PHP学习之PHP表达式
2006/10/09 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
php 学习资料零碎东西
2010/12/04 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
Javascript 函数对象的多重身份
2009/06/28 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
JavaScript深度复制(deep clone)的实现方法
2016/02/19 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
2017/03/01 Javascript
vue-loader教程介绍
2017/06/14 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
悬挂训练绳:TRX
2017/12/14 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
行政总经理岗位职责
2013/12/05 职场文书
优秀老师事迹材料
2014/02/05 职场文书
尼克胡哲观后感
2015/06/08 职场文书
九九重阳节致辞
2015/07/31 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技
delete in子查询不走索引问题分析
2022/07/07 MySQL